-1
的其他組件我已經創建了一個使用System.Diagnostics程序類似下面的事件記錄實用程序庫:從類庫使用TraceSource,並用它在相同的可執行
public class Logger
{
static TraceSource ts = new TraceSource("TestApp");
public void Log(string message)
{
ts.TraceEvent(TraceEventType.Verbose, 0, message);
}
}
我想利用這個日誌函數在我的應用程序和其他組件(DLL)的同一個應用程序。我想在我的應用程序的app.config聲明監聽器,但它沒有工作:(我的app.config看起來像如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
<trace autoflush="true"/>
<sources>
<source name="TestApp"
switchName="mySwitch"
switchType="System.Diagnostics.SourceSwitch" >
<listeners>
<clear/>
<add name="EventLogListener"
type="System.Diagnostics.EventLogTraceListener"
initializeData="Title for events" />
</listeners>
</source>
</sources>
<switches>
<add name="mySwitch" value="Verbose" />
</switches>
</system.diagnostics>
</configuration>
如果我移動在應用程序本身(可執行文件),帶班記錄儀給定的清單文件,我可以看到日誌在事件查看器channed應用程序。但我不希望使用這種方式。
有人可以幫我找出這裏的根本問題?
表面上應用程序設置文件看起來不錯。嘗試一個不同的偵聽器,說一個文件偵聽器,並查看它是否與事件日誌無關(可能會遇到權限問題,如果您正在登錄到現有事件類別或新的事件類別時遇到問題)。我完全不理解你的最後一段。它在某些事情(不明確)之後有效(使事件查看器中的日誌可見或引導),但是您不希望它以這種方式工作?你想以什麼方式工作? – MatthewMartin
我在最後一段中的意思是,如果我沒有將記錄器作爲單獨庫的一部分,並將其所有代碼放入單一控制檯應用程序中,它就可以正常工作。我可以看到日誌在事件通道中發佈。 – user3375881