【发布时间】:2012-05-24 08:08:51
【问题描述】:
我正在使用 Log4Net 在日志文件中写入日志并将其存储在本地临时文件夹位置 (C:\temp..)。现在我想在运行时更改文本(日志)文件名,所以我对我的配置文件以及我的应用程序也做了一些代码更改。但是无法在本地临时文件夹上更改文件名,并且日志也没有写入文本文件。
你能请任何人告诉我这个问题的解决方案或告诉我一些其他的例子来解决这个问题吗?
这里我的代码是:
我的配置文件(Web.Config)设置:
<appender name="RollingPatternFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%property{LogFileName}.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100MB" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} %-5level : [%logger] - %message %newline" />
</layout>
</appender>
<logger name="SPM.SERVER">
<level value="DEBUG" />
<appender-ref ref="RollingPatternFileAppender" />
</logger>
我的申请代码是:
ILog logger = LogManager.GetLogger("SPM.SERVER");
log4net.ThreadContext.Properties["LogFileName"] = "MyLog";
logger.Debug("Load Data",ex);
XmlConfigurator.Configure();
这段代码没有在文件中写入日志,也没有更改文件名。任何人都请纠正我在这段代码中做错了什么,或者告诉我一些其他的例子来实现这个解决方案。
【问题讨论】:
-
@AndreasNiedermair:我无法打开那个网站。
-
你想通过什么来更改文件名? Log4net 非常灵活,您可以使用不同的附加程序。为什么需要 c#?
-
@nunespascal:我是这个 Log4net 概念的新手。你能帮我这个实现我必须使用哪种类型的附加程序?您能否就您的观点实施再多解释一下?
标签: c# web-config log4net