我在网上关注了youtube视频和文章并实现了这一点。但它永远不会写入我的日志文件。尝试围绕许多论坛的所有建议毫无用处。 不知道我哪里出错了。我有这个内部类库。
app.config文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<log4net><appender name="myLogAppender" type="log4net.Appender.RollingFileAppender" >
<file value="D:\\Log4NetLog.txt" /><layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level - %message%n" /></layout></appender>
<logger name="myLog"><level value="ALL"></level><appender-ref ="myLogAppender" />
</logger></log4net></configuration>
并在Assembly.info.cs中:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "app.config", Watch = true)]
并在类文件中:
ILog mylog = LogManager.GetLogger("myLog");
string xx =“tokensalt”; mylog.Info(XX);
答案 0 :(得分:0)
如果配置在app.config中,则无需在配置器中指定文件:
[assembly: log4net.Config.XmlConfigurator()]
当您更改app.config文件时,手表也不是很有用。无论如何,应用程序将重新启动,文件将被重新加载。
如果这不起作用,我猜你登录的网络用户无法访问您登录的路径。
->>> <file value="D:\\Log4NetLog.txt"
确保选择您有权访问的路径。
答案 1 :(得分:0)
使用文件appender而不是滚动appender,滚动appender是为了备份目的,例如,如果你的文件超过10mb,那么它将写入你的滚动appender,你可以决定你在那里写的10mb文件的数量,来自log4net网站:
RollingFileAppender可以根据大小或日期或两者来滚动日志文件 取决于RollingStyle属性的设置。设置为时 一旦大小超过,日志文件的大小将被滚动 MaximumFileSize。设置为Date时,日志文件将被滚动一次 越过DatePattern属性中指定的日期边界。什么时候 设置为Composite,日志文件将在日期边界滚动一次 在DatePattern属性中指定的是超出的,但是在一个日期内 边界文件也将在其大小超过时滚动 MaximumFileSize。当设置为一旦日志文件将被滚动时 appender已配置。这实际上意味着日志文件可以 每个程序执行时滚动一次。
这是一个适合您的web.config示例:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<appender name="FileAppender" type="log4net.appender.FileAppender">
<file value="C:\MyLogs\MyLogFile.txt"/>
<appendToFile value="true"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{ABSOLUTE} [%logger] %level - %message%newline%exception"/>
</layout>
</appender>
<root>
<level value="DEBUG"></level>
<appender-ref ref="FileAppender"></appender-ref>
</root>
</log4net>