Log4net 怎么试都不行,help me

joedong 2004-11-22 11:41:06
使用Log4net 将记录写到文件中却怎么试都不行,帮忙看看


web.config 中配置如下
================================================================
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>

......

<log4net>
<!-- Define some output appenders -->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="Visits-log.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<!-- Setup the root category, add the appenders and set the default level -->
<root>
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>

程序代码实现如下(编译通过,运行也不会错误)
=====================================
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

......

private void Button1_Click(object sender, System.EventArgs e)
{
log.Warn(DateTime.Now.ToString());
}


...全文
150 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuike519 2004-11-24
  • 打赏
  • 举报
回复
Q:Why can't I log to a FileAppender from a web application?
A:The web application runs as a special user account on the web server called ASPNET. This account has restricted permissions to protect the web server from attacks. By default this account may not have permission to write to the file system. Make sure that the ASPNET account has permission to create and write to files in the directory chosen for logging.

billy_zh 2004-11-24
  • 打赏
  • 举报
回复
检查有没有对文件夹的write权限。
cuike519 2004-11-24
  • 打赏
  • 举报
回复
请尝试一下配置文件。
<log4net>
<logger name="YourApplicationName">
<level value="DEBUG" />
<appender-ref ref="RollingFile" />
</logger>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="Logs/rb_log.log" />
<appendToFile value="true" />
<rollingMode value="Date" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d %-4r [%t] %-5p %c %x - %m%n" />
</layout>
</appender>
</log4net>
CS文件如下:
private static readonly ILog log = LogManager.GetLogger("YourApplicationName");
usage:
log.Error("Error!");
有关详细内容请参考log4net的API接口文档以及手册。上面的代码在VS.NET2003上测试通过。
joedong 2004-11-24
  • 打赏
  • 举报
回复
多谢,问题解决了 ! 应该在global.asax.cs 的 application_onstart 中启动log4net相关配置即可。
多谢各位指点
joedong 2004-11-23
  • 打赏
  • 举报
回复
joedong 2004-11-23
  • 打赏
  • 举报
回复
哪位能发个完整的例子,我再加风
joedong 2004-11-23
  • 打赏
  • 举报
回复
试过了!
jonescheng 2004-11-23
  • 打赏
  • 举报
回复
Level value="ALL"
在试试看
joedong 2004-11-23
  • 打赏
  • 举报
回复
试过了,怎么试都不行! 大侠帮忙
saucer 2004-11-23
  • 打赏
  • 举报
回复
could be
<level value="DEBUG" />

??

try to change it to

<level value="WARN" />

or follow the instructions in

http://www.ondotnet.com/pub/a/dotnet/2003/06/16/log4net.html?page=1

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧