我有以下配置:
<log4net>
<root>
<level value="All"/>
<appender-ref ref="RollingFileAppender"/>
</root>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="mylog.log"/>
<appendToFile value="true"/>
<preserveLogFileNameExtension value="true"/>
<rollingStyle value="Composite"/>
<datePattern value=".yyyyMMdd"/>
<maximumFileSize value="5MB"/>
<countDirection value="1"/>
<maxSizeRollBackups value="-1"/>
<staticLogFileName value="false"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
</log4net>
以及global.asax中的以下代码:
Sub Application_Start()
AreaRegistration.RegisterAllAreas()
RegisterGlobalFilters(GlobalFilters.Filters)
RegisterRoutes(RouteTable.Routes)
BasicConfigurator.Configure();
LogManager.GetLogger(typeof(Global_asax)).Error("Logger configured")
End Sub
对于上面配置中的标记文件,我尝试了C:\my folder\mylog.log以及上面看到的mylog.log
但是,我没有看到在任何地方生成此文件,也没有例外。
环境:VS 2013 ASP.Net VB。通过调试菜单运行。当我运行IISExpress是由VS2013启动和网站运行。但没有日志看到。
我已经尝试了各种组合的文件标签,但没有工作。
有人能帮忙吗?
5条答案
按热度按时间rsl1atfo1#
将debug =“true”添加到
<log4net>
标记(即<log4net debug="true">
)可以帮助解决此问题wecizke32#
这是我最后做的工作的最终版本:
还有
这将记录到应用程序目录中的log\log4net.log(即我的代码所在的位置)
jrcvhitl3#
这曾经对我很有效(我已经切换到更轻、更好配置的NLog),日志每天滚动,写在应用程序路径下一个名为“日志”的子文件夹中。
nx7onnlm4#
您应该打开log4net的内部调试来找出失败的原因...
示例web.config
有关here的详细信息,请参阅故障排除部分。
eqqqjvef5#
下面是关键,如果这是丢失的你将看到像上面的日志