Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't get Log4Net to work in our WCF application [duplicate]

We are trying to use Log4Net to log from our IIS 6-deployed WCF Application. We are trying to log to a file, but can't seem to get the log files to be created, let alone see the logging output in them. The pertinent pieces of out web.config are:

<sectionGroup name="common">
    <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
...
<common>
    <logging>
        <factoryAdapter type="Common.Logging.Simple.TraceLoggerFactoryAdapter, Common.Logging">
            <arg key="level" value="INFO" />
            <arg key="showLogName" value="true" />
            <arg key="showDataTime" value="true" />
            <arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" />
        </factoryAdapter>
    </logging>
</common>

<log4net>
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
        <param name="File" value="c:\logs\ApplicationInfoTest.log" />
        <threshold value="INFO" />
        <param name="AppendToFile" value="true" />
        <param name="DatePattern" value="ddMMyyyy" />
        <param name="MaxSizeRollBackups" value="10" />
        <param name="MaximumFileSize" value="10MB" />
        <param name="RollingStyle" value="Size" />
        <param name="StaticLogFileName" value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <param name="Header" value="\r\n\r\n---------------------------------------------\r\n" />
            <param name="Footer" value="\r\n---------------------------------------------\r\n\r\n" />
            <param name="ConversionPattern" value="%d [%t] %-5p - %m%n" />
        </layout>
    </appender>
    <root>
        <level value="INFO" />
        <appender-ref ref="FileAppender" />
    </root>
  </log4net>

With this configuration we can see INFO level logging coming out of our application when using DebugView, but it is clear that this is from the piece and not the
piece.

Is there something that we have failed to set up in web.config? Is it a permissions issue with the directory we have created for the logs to be written to?

Please point out our obvious mistake.

like image 549
Andrew Harmel-Law Avatar asked Feb 16 '09 09:02

Andrew Harmel-Law


3 Answers

I have also had to add this line to the AssemblyInfo.cs file of my application in order to get log4net working.

// LOG 4 net config
[assembly:log4net.Config.XmlConfigurator(Watch=true)]
like image 128
Alexander Preston Avatar answered Sep 21 '22 07:09

Alexander Preston


Use ProcessMonitor from SysInternals to find out where permissions are being refused

(Potentially you can determine the same info by attaching a debugger and trapping on exceptions, not in Just My Code)

Are you sure that the process under which the service is running has permissions on the folder you're trying to write to?

like image 23
Ruben Bartelink Avatar answered Sep 21 '22 07:09

Ruben Bartelink


Try XmlConfigurator.Configure()

like image 45
User Friendly Avatar answered Sep 21 '22 07:09

User Friendly