将log4net集成到多层解决方案中解决了以下问题。该项目运行由NLog配置的Hangfire。另外,还有一个层,内部使用log4net,供Hangfire访问。在此层上下文中从Hangfire调用的所有日志都不会写入文件,而只会被忽略。
我试图传输log4net配置文件,声明[assembly: log4net.Config.XmlConfigurator (Watch = true)]
,但没有任何帮助。有没有人遇到过类似的问题?
我的log4net配置文件:
<appender name="RootAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\log.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="25MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %identity | %level: %message;%newline"/>
</layout>
</appender>
<appender name="Bulkactions" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\bulkAtions.log.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="15MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %logger | %identity | %level: %message;%newline"/>
</layout>
</appender>
<appender name="Analytics.Logger" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\analytics.log.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="15MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %identity | %level: %message;%newline"/>
</layout>
</appender>
<appender name="DuplicateCheck" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\duplicateCheck.log.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="15MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %identity | %level: %message;%newline"/>
</layout>
</appender>
<appender name="JobAndCustomer.Logger" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\jobAndCustomer.log.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="15MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %identity | %level: %message;%newline"/>
</layout>
</appender>
<appender name="MangoCaller" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\mango-caller.log.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="15MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %identity | %level: %message;%newline"/>
</layout>
</appender>
<appender name="ThirdPartyApi" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\thirdPartyApi.log.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="15MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %identity | %level: %message;%newline"/>
</layout>
</appender>
<appender name="ExternalImport" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\externalImport.log.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="15MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %identity | %level: %message;%newline"/>
</layout>
</appender>
<appender name="InboundEmails" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\inboundEmails.log.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="15MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %identity | %level: %message;%newline"/>
</layout>
</appender>
<appender name="IndexingLogger" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\indexing.log.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="15MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %identity | %level: %message;%newline"/>
</layout>
</appender>
<appender name="Calendar" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\calendar.log.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="15MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %identity | %level: %message;%newline"/>
</layout>
</appender>
<appender name="SqlPerformanceLogger" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\sqlPerformanceLogger.txt"/>
<param name="AppendToFile" value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="50MB"/>
<encoding value="utf-8" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss} | %identity | %level: %message;%newline"/>
</layout>
</appender>
<logger name="Bulkactions" additivity="false">
<level value="Debug" />
<appender-ref ref="Bulkactions" />
</logger>
<logger name="Analytics.Logger" additivity="false">
<level value="Debug" />
<appender-ref ref="Analytics.Logger" />
</logger>
<logger name="DuplicateCheck" additivity="false">
<level value="Debug" />
<appender-ref ref="DuplicateCheck" />
</logger>
<logger name="JobAndCustomer.Logger" additivity="false">
<level value="Debug" />
<appender-ref ref="JobAndCustomer.Logger" />
</logger>
<logger name="MangoCaller" additivity="false">
<level value="Debug" />
<appender-ref ref="MangoCaller" />
</logger>
<logger name="ThirdPartyApi" additivity="false">
<level value="Debug" />
<appender-ref ref="ThirdPartyApi" />
</logger>
<logger name="ExternalImport" additivity="false">
<level value="Debug" />
<appender-ref ref="ExternalImport" />
</logger>
<logger name="InboundEmails" additivity="false">
<level value="Debug" />
<appender-ref ref="InboundEmails" />
</logger>
<logger name="Calendar" additivity="false">
<level value="Debug" />
<appender-ref ref="Calendar" />
</logger>
<logger name="SqlPerformanceLogger" additivity="false">
<level value="Debug" />
<appender-ref ref="SqlPerformanceLogger" />
</logger>
<root>
<level value="Debug"/>
<appender-ref ref="RootAppender" />
</root>
</log4net>
我不知道需要什么其他文件来诊断问题,我可以根据要求添加。