我正在開發作爲Windows服務運行的c#應用程序。 我在應用程序中正在做什麼事情,我將它寫入日誌文件。 日誌目錄被添加到app.config文件中,如下所示。寫入日誌文件
<add key ="LogDir" value="log" />
<add key ="LogLevel" value="2" />
而在c#代碼上面的一個訪問如下。
int logLevel = Convert.ToInt32(ConfigurationManager.AppSettings["logLevel"]);
if (logLevel > 0)
{
logger = new Logger();
logger.TraceLevel = logLevel - 1;
logger.logDir = ConfigurationManager.AppSettings["logDir"];
logger.logFileBaseName = "touchserver";
}
然後當任何進程正在發生的事情我正在將數據寫入日誌如下。
TouchServer.Log(Logger.MessageType.Trace, 1, "Item successfully deleted");
當我運行在調試模式下(我的意思是作爲控制檯應用程序)日誌文件將在應用程序的調試文件夾中創建,數據將寫入日誌文件的應用程序。
但我的問題是,當我安裝我的應用程序服務沒有得到在debug文件夾中創建日誌文件,我無法看到動作進行,萬一要是出了什麼差錯。
請幫我找到這個解決方案。
,我使用Installutil命令安裝服務。
在此先感謝 桑吉塔
但即使是最好的日誌記錄API不能解決OP的問題,如果服務帳戶不允許寫入指定的目錄。 – Stephan
非常感謝你,它通過改變代碼中的路徑起作用。當它作爲服務運行時,它試圖在system32文件夾中寫入。然後我將它封裝到所需的路徑中。 – user703526
很高興你解決了。我仍然會推薦使用lo4net。 –