我的FileAppender坏了。这可能不是权限问题,因为我是本地管理员。
我已经启用了内部调试,并且没有收到来自log4net的任何错误或异常。
下面是我的配置文件。谢谢
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="C:\log-file.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="FileAppender" />
</root>
</log4net>要记录的代码实际上是:-
public class Logger
{
private static readonly ILog defaultLog;
static Logger()
{
BasicConfigurator.Configure();
defaultLog = LogManager.GetLogger("default");
}
public static void Log(string errorMessage, Exception exception)
{
defaultLog.Error(errorMessage, exception);
}
}发布于 2011-11-16 01:44:25
根据您的描述,我假设您使用了BasicConfigurator (仅支持ConsoleAppender)而不是XmlConfigurator。切换到XmlConfigurator应该可以解决您的问题。
发布于 2011-11-15 23:20:31
有两个主要选项可以启用日志记录。有关更多详细信息,请参阅Configuration手册。
在AssemblyInfo.cs中使用XmlConfigurator.Configure()
[assembly: log4net.Config.XmlConfigurator(Watch=true)]的BasicConfigurator.Configure()只能写入控制台。
发布于 2011-11-15 23:26:01
你试过RollingFileAppender吗?
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" >
<file value="C:\log-file.txt" />
<maximumFileSize value="10MB" />
<maxSizeRollBackups value="10" />
<rollingStyle value="Composite" />
<appendToFile value="true" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>https://stackoverflow.com/questions/8138072
复制相似问题