API Reference
Class
DnsLogAnalyzer
Provides analysis capabilities for DNS debug logs, including summary generation and merging.
Inheritance
- Object
- DnsLogAnalyzer
Constructors
public DnsLogAnalyzer(Int32 maxRawQueries = 1000) #Initializes a new instance of the DnsLogAnalyzer class.
Parameters
- maxRawQueries System.Int32 = 1000
Methods
public ValueTuple<DnsLogAnalysisResult, IList<String>> AnalyzeLogs(IEnumerable<String> filePaths, DnsLogFilter filter = null, Boolean doNotMerge = false, Boolean deduplicate = false, String[] matchedZones = null, Nullable<Int32> subnetMask = null, IProgress<DnsLogBatchProgress> progress = null, Boolean runInParallel = false, DnsAnalysisKind kinds = All, DnsLogProcessingOptions options = null) #Returns:
ValueTuple<DnsLogAnalysisResult, IList<String>>Gets summaries for multiple log files with optional merging.
Parameters
- filePaths System.Collections.Generic.IEnumerable{System.String}
- Collection of file paths to analyze.
- filter ADPlayground.DnsLogFilter = null
- Optional filter for DNS entries.
- doNotMerge System.Boolean = false
- If true, returns individual summaries; if false, merges summaries.
- matchedZones System.Boolean = false
- Array of zone names to match against.
- deduplicate System.String[] = null
- When true and merging, removes duplicate log entries before building merged summaries.
- subnetMask System.Nullable{System.Int32} = null
- CIDR prefix length for grouping IP summaries.
- progress System.IProgress{ADPlayground.DnsLogBatchProgress} = null
- Optional batch progress reporter.
- runInParallel System.Boolean = false
- Process files concurrently.
- kinds ADPlayground.DnsAnalysisKind = All
- Selects which analyses to run. Defaults to all.
- options ADPlayground.DnsLogProcessingOptions = null
- Optional processing behavior such as caching UNC paths.
Returns
A tuple containing the analysis results and any errors encountered.
public async Task<ValueTuple<DnsLogAnalysisResult, IList<String>>> AnalyzeLogsAsync(IEnumerable<String> filePaths, DnsLogFilter filter = null, Boolean doNotMerge = false, Boolean deduplicate = false, String[] matchedZones = null, Nullable<Int32> subnetMask = null, IProgress<DnsLogBatchProgress> progress = null, Boolean runInParallel = false, DnsAnalysisKind kinds = All, DnsLogProcessingOptions options = null) #Returns:
Task<ValueTuple<DnsLogAnalysisResult, IList<String>>>Asynchronously gets summaries for multiple log files with optional merging.
Parameters
- filePaths System.Collections.Generic.IEnumerable{System.String}
- Collection of file paths to analyze.
- filter ADPlayground.DnsLogFilter = null
- Optional filter for DNS entries.
- doNotMerge System.Boolean = false
- If true, returns individual summaries; if false, merges summaries.
- matchedZones System.Boolean = false
- Array of zone names to match against.
- deduplicate System.String[] = null
- When true and merging, removes duplicate log entries before building merged summaries.
- subnetMask System.Nullable{System.Int32} = null
- CIDR prefix length for grouping IP summaries.
- progress System.IProgress{ADPlayground.DnsLogBatchProgress} = null
- Optional batch progress reporter.
- runInParallel System.Boolean = false
- Process files concurrently.
- kinds ADPlayground.DnsAnalysisKind = All
- Selects which analyses to run. Defaults to all.
- options ADPlayground.DnsLogProcessingOptions = null
- Optional processing behavior such as caching UNC paths.
Returns
A tuple containing the analysis results and any errors encountered.
public IList<DnsLogIntervalSummary> GetSummaryPerInterval(String filePath, TimeSpan interval, DnsLogFilter filter = null, IProgress<DnsLogBatchProgress> progress = null, DnsLogProcessingOptions options = null) #Returns:
IList<DnsLogIntervalSummary>Groups log entries into fixed time intervals.
Parameters
- filePath System.String
- Path to the DNS debug log file.
- interval System.TimeSpan
- Length of each interval.
- filter ADPlayground.DnsLogFilter = null
- Optional filter for DNS entries.
- progress System.IProgress{ADPlayground.DnsLogBatchProgress} = null
- Optional progress reporter.
- options ADPlayground.DnsLogProcessingOptions = null
- Optional processing behavior such as caching UNC paths.
Returns
Collection of interval summaries.
Inherited Methods
Properties
public Int32 MaxRawQueries { get; set; } #Gets or sets the maximum number of raw queries to retain per summary. Use 0 to disable raw query storage.