2015-02-08 80 views
0

我可以在發佈和調試模式下在VS2012(Winform)中運行程序。 它工作並將日誌寫入文件。log4net c#,已安裝的程序無法將日誌寫入文件

我用INNO編譯器編譯成可安裝程序後。然後安裝已編譯的程序成功。該程序工作,但沒有日誌文件。

我將權限更改爲完全控制權和所有權。以管理員身份運行。

仍然不起作用。 謝謝。

<configSections> 
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <param name="File" value="C:\\printer\\log_"/> 

    <param name="RollingStyle" value="Date"/> 
    <param name="DatePattern" value="yyyy-MM-dd.\tx\t" /> 
    <param name="StaticLogFileName" value="false"/> 

    <lockingmodel type="log4net.Appender.FileAppender+MinimalLock" /> 

    <appendToFile value="true" /> 

    <maxSizeRollBackups value="5" /> 
    <maximumFileSize value="5MB" /> 

    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date [%thread] %level %logger - %message%newline" /> 
    </layout> 
</appender> 

<root> 
    <priority value="ALL" /> 

    <appender-ref ref="RollingFileAppender" /> 
</root> 
<category name="DesktopLogger.Form1"> 
    <priority value="ALL" /> 
</category> 

+1

您確定要(和有權限)寫'C:\打印機\ log_'? – 2015-02-09 19:18:42

+0

是的,我仍然無法解決 – riseres 2015-02-10 04:34:41

+0

如果您將輸出位置更改爲'value =「$ {LOCALAPPDATA} \ MyTest \ debug.log」',會發生什麼情況? – 2015-02-10 04:57:22

回答

0

你的問題是隻是猜測沒有獲得您的安裝/機器。您可以啓用日誌記錄log4net的,看看是怎麼回事:

<configuration> 
... 
    <appSettings> 
     <add key="log4net.Internal.Debug" value="true"/> 
    </appSettings> 

... 

    <system.diagnostics> 
     <trace autoflush="true"> 
      <listeners> 
       <add 
        name="textWriterTraceListener" 
        type="System.Diagnostics.TextWriterTraceListener" 
        initializeData="C:\tmp\log4net.txt" /> 
      </listeners> 
     </trace> 
    </system.diagnostics> 
</configuration> 

Log4net FAQ