所以我使用Tracesource记录一些错误,并且不想在用户本地Windows文档结构中创建日志文件(类似System.Environment.SpecialFolder.LocalApplicationData
)。
但是我不知道我是否可以在配置文件中做任何类似的事情。
<system.diagnostics>
<trace autoflush="true"/>
<sources>
<source name="MainSource"
switchName="MainSwitch"
switchType="System.Diagnostics.SourceSwitch" >
<listeners>
<add name="LogFileListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="LogFileListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="This is the place the output file goes to"
traceOutputOptions="ProcessId, DateTime, Callstack" />
</sharedListeners>
<switches>
<add name="MainSwitch" value="Verbose" />
</switches>
</system.diagnostics>
initializeData是我认为构造函数的参数,是我必须放置自定义路径的地方。
答案 0 :(得分:2)
答案 1 :(得分:2)
以下是我用于选项的示例代码。它可以帮助您理解架构。
Configuration exeConfiguration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConfigurationSection diagnosticsSection = exeConfiguration.GetSection("system.diagnostics");
ConfigurationElementCollection switches = diagnosticsSection.ElementInformation
.Properties["switches"]
.Value as ConfigurationElementCollection;
foreach (ConfigurationElement switchElement in switches)
{
Debug.WriteLine("switch: name=" +
switchElement.ElementInformation.Properties["name"].Value +
" value=" +
switchElement.ElementInformation.Properties["value"].Value);
}