I would like to open a log file in a windows UI that corresponds to the file
maintained in the loggingDistributorConfig.config file. Has any one done this?
Below is the code I tried to use and the loggingDistributorConfig.config xml.
Thanks in Advance,
Mark
//start by capturing the configuration of the Logging with a logging
configuration view object
LoggingConfigurationView logConfigVw;
logConfigVw = new LoggingConfigurationView(new
ConfigurationContext(Path.GetFullPath("ShowLogFile Test.exe.config").ToString()));
//drill down in to the category
Microsoft.Practices.EnterpriseLibrary.Logging.Dist ributor.Configuration.CategoryData
distribConfig = logConfigVw.GetCategoryData("loggingDistributorCon fig.config
");
//drill down to the desination data
Microsoft.Practices.EnterpriseLibrary.Logging.Dist ributor.Configuration.DestinationData
destCollection = distribConfig.DestinationDataCollection["Flat File
Destination"];
//invalid cast error occurs on the following line when drilling into the
sink data
CustomSinkData mySinkData =
(CustomSinkData)logConfigVw.GetSinkData(destCollec tion.Sink);
//**** Config xml
<?xml version="1.0" encoding="utf-8"?>
<loggingDistributorConfiguration>
<xmlSerializerSection
type="Microsoft.Practices.EnterpriseLibrary.Loggin g.Distributor.Configuration.DistributorSettings,
Microsoft.Practices.EnterpriseLibrary.Logging, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=02d410f519fd6098">
<enterpriseLibrary.loggingDistributorSettings
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
defaultCategory="General" defaultFormatter="Text Formatter"
xmlns="http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/loggingdistributor">
<sinks>
<sink xsi:type="EventLogSinkData" name="Event Log Sink"
eventLogName="Application" eventSourceName="Enterprise Library Logging" />
<sink xsi:type="FlatFileSinkData" name="Flat File Sink"
fileName="E:\Data\Logs\Tool\ApplicationLog.txt"
header="----------------------------------------"
footer="----------------------------------------" />
<sink xsi:type="MsmqSinkData" name="MSMQ Sink"
queuePath="mw10626\private$\Logging" priority="Normal" recoverable="false"
useAuthentication="false" useDeadLetterQueue="false" useEncryption="false" />
</sinks>
<categories>
<category name="General">
<destinations>
<destination name="Event Log Destination" sink="Event Log Sink"
format="Text Formatter" />
</destinations>
</category>
<category name="LoggingHandler">
<destinations>
<destination name="Flat File Destination" sink="Flat File Sink"
format="Text Formatter" />
</destinations>
</category>
<category name="Trace">
<destinations>
<destination name="Flat File Destination" sink="Flat File Sink"
format="Text Formatter" />
</destinations>
</category>
</categories>
<formatters>
<formatter xsi:type="TextFormatterData" name="Text Formatter">
<template><![CDATA[Timestamp: {timestamp}
Message: {message}
Category: {category}
Priority: {priority}
EventId: {eventid}
Severity: {severity}
Title:{title}
Machine: {machine}
Application Domain: {appDomain}
Process Id: {processId}
Process Name: {processName}
Win32 Thread Id: {win32ThreadId}
Thread Name: {threadName}
Extended Properties: {dictionary({key} - {value}
)}]]></template>
</formatter>
</formatters>
</enterpriseLibrary.loggingDistributorSettings>
</xmlSerializerSection>
</loggingDistributorConfiguration>