2012-01-26 39 views
0

我有一個使用TopShelf開發的非常簡單的Windows服務。我正在使用log4net並配置了一個UDP Appender。我正在使用名爲Log2Console的應用程序查看UDP日誌。Windows服務中的Log4net UDP Appender

當我作爲exe運行應用程序時,一切正常,我可以在Log2Console中看到UDP日誌。但是,當我使用TopShelf將該exe安裝爲服務並啓動它時,我看不到任何UDP日誌。

我試過關閉Windows防火牆,看看是否會有所作爲,但它沒有。我也嘗試更改服務登錄詳細信息,但沒有運氣。

有什麼建議嗎?

謝謝。

+0

這是最有可能的權限問題。但是,您可以使用文件appender作爲服務並驗證服務是否正確啓動並生成日誌消息? – Travis

+0

添加了文件appender,但作爲服務運行時不會更新。應該檢查一下。只是假定它與UDP有關,從未使用過這個appender。該服務確實正在運行,因爲我添加了幾行代碼來定期從文件夾中刪除文件。 – Lance

+0

我試着在管理員a/c下運行服務,但沒有運氣。還將日誌文件目錄的權限授予每個人。 – Lance

回答

1

也有類似的問題,必須更新HostFactory設立包括內WhenStarted log4net的配置:

s.WhenStarted(lcp => 
{ 
    // configure logging for hosted service 
    XmlConfigurator.ConfigureAndWatch(new FileInfo(".\\log4net.config")); 
    lcp.Start(); 
});