### Configure Application Settings Source: https://context7.com/textanalysistool/textanalysistool.github.io/llms.txt Manage UI preferences, behavior, and encoding settings using an XML configuration file. ```xml ``` -------------------------------- ### Implement ITextAnalysisToolPlugin Interface Source: https://context7.com/textanalysistool/textanalysistool.github.io/llms.txt Defines the interface for custom file format parsers and provides a concrete implementation for reading compressed .log.gz files. ```csharp // ITextAnalysisToolPlugin interface implementation // Save as TATPlugin_CustomFormat.dll in TextAnalysisTool.NET directory using System; using System.Collections.Generic; using System.IO; namespace TextAnalysisTool.NET.Plugin { public interface ITextAnalysisToolPlugin { // Return plugin name for display string GetPluginName(); // Return plugin version string GetPluginVersion(); // Check if this plugin can handle the given file // Return true to claim responsibility for parsing bool CanHandleFile(string filePath); // Parse the file and return lines for display // Each string in the list becomes one line in TextAnalysisTool.NET IList ParseFile(string filePath); // Optional: Return true if plugin has configuration dialog bool HasConfigurationDialog(); // Optional: Show configuration dialog void ShowConfigurationDialog(); } // Example: Plugin for compressed log files public class CompressedLogPlugin : ITextAnalysisToolPlugin { public string GetPluginName() => "Compressed Log Reader"; public string GetPluginVersion() => "1.0.0"; public bool CanHandleFile(string filePath) { return filePath.EndsWith(".log.gz", StringComparison.OrdinalIgnoreCase); } public IList ParseFile(string filePath) { var lines = new List(); using (var fileStream = File.OpenRead(filePath)) using (var gzipStream = new System.IO.Compression.GZipStream( fileStream, System.IO.Compression.CompressionMode.Decompress)) using (var reader = new StreamReader(gzipStream)) { string line; while ((line = reader.ReadLine()) != null) { lines.Add(line); } } return lines; } public bool HasConfigurationDialog() => false; public void ShowConfigurationDialog() { } } } ``` -------------------------------- ### Execute Command-Line Operations Source: https://context7.com/textanalysistool/textanalysistool.github.io/llms.txt Automate file loading, filter application, and navigation using command-line arguments. ```bash # Basic file opening TextAnalysisTool.NET.exe C:\Logs\application.log # Open file with pre-configured filters TextAnalysisTool.NET.exe C:\Logs\application.log /Filters:"C:\Filters\ErrorFilters.tat" # Open file and jump to specific line TextAnalysisTool.NET.exe C:\Logs\application.log /Line:1500 # Load with configuration file TextAnalysisTool.NET.exe C:\Logs\application.log /Config:"C:\Configs\MySettings.xml" # Load multiple filter files (filters are appended) TextAnalysisTool.NET.exe C:\Logs\application.log /Filters:"ErrorFilters.tat" /Filters:"WarningFilters.tat" # Load text from clipboard instead of file TextAnalysisTool.NET.exe /Clipboard # Combined usage - file, filters, config, and starting line TextAnalysisTool.NET.exe C:\Logs\debug.log /Filters:"debug.tat" /Config:"analysis.xml" /Line:500 ``` -------------------------------- ### Define Filter Configurations Source: https://context7.com/textanalysistool/textanalysistool.github.io/llms.txt Create XML-based .tat files to define substring, regex, exclusion, and marker filters with custom colors. ```xml ERROR Error messages \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} Timestamp patterns DEBUG: Heartbeat Hide heartbeat noise 1 Marked important lines false ``` -------------------------------- ### Common Regular Expression Patterns Source: https://context7.com/textanalysistool/textanalysistool.github.io/llms.txt A collection of .NET regular expression patterns for matching log data, timestamps, and common file formats. ```text # Common log analysis patterns # Match ISO timestamps \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2} # Match log levels (case insensitive - enable in filter dialog) (ERROR|WARN|INFO|DEBUG|TRACE) # Match exception stack traces ^\s+at\s+[\w\.]+\(.*\) # Match IP addresses \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b # Match HTTP status codes HTTP/\d\.\d"\s+(4\d{2}|5\d{2}) # Match GUIDs [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12} # Match duration/elapsed time patterns (took|elapsed|duration)[:\s]+\d+(\.\d+)?\s*(ms|sec|s|milliseconds|seconds) # Match memory sizes \d+(\.\d+)?\s*(KB|MB|GB|bytes) # Match SQL queries (SELECT|INSERT|UPDATE|DELETE|FROM|WHERE|JOIN)\s+ # Match JSON-like key-value pairs "\w+":\s*("[^"]*"|\d+|true|false|null) # Match thread IDs in brackets \[Thread[:\s]*\d+\] # Match file paths (Windows) [A-Za-z]:\\[\w\\\.]+ # Match URLs https?://[\w\-\.]+(/[\w\-\./?%&=]*)? ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.