【发布时间】:2011-04-09 12:57:58
【问题描述】:
所以我有一个网站和一个每天运行的控制台应用程序。
它们都调用了一个名为 ProcessIncident() 的函数。该网站允许您针对单个事件手动执行此操作,并且控制台应用程序每晚都会执行批处理。
在函数中,我有各种 log4net Log.InfoFormat() 和 Log.DebugFormat() 调用
当我从网站运行时,它记录正常
当我从控制台应用程序运行时,它根本不记录
指定的路径确实存在
控制台应用配置如下
<?xml version="1.0" encoding="utf-8" ?>
<log4net xmlns="urn:log4net">
<logger name="NHibernate">
<level value="OFF" />
<appender-ref ref="NHibernateFileAppender" />
</logger>
<logger name="SMS">
<level value="ALL" />
<appender-ref ref="SmsFileAppender" />
</logger>
<appender name="SmsFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="D:\XXXX\SMS.IncidentBilling.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="2" />
<maximumFileSize value="1MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date] %-5level %logger %message %newline" />
</layout>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>
<appender name="NHibernateFileAppender" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="D:\Dev\SMS\Main\Source\SMS.Website\Logs\nhibernate.log" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date] %appdomain %-5level %c %message %newline" />
</layout>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>
</log4net>
在控制台应用程序中,我引用了 log4net dll 并将成员声明为
private ILog Log = LogManager.GetLogger(typeof(Task));
任何人都可以看到我在做什么愚蠢的事情。没有实际错误,只是没有通过控制台应用程序记录 gettign
【问题讨论】:
标签: .net logging configuration log4net console-application