C# log4net%属性不工作
我有一个带有以下代码的小测试项目:C# log4net%属性不工作,c#,.net,logging,log4net,log4net-configuration,C#,.net,Logging,Log4net,Log4net Configuration,我有一个带有以下代码的小测试项目: class Program { static void Main(string[] args) { log4net.GlobalContext.Properties["logFileName"] = "log.txt"; log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("log4net.xml")); log4net
class Program
{
static void Main(string[] args)
{
log4net.GlobalContext.Properties["logFileName"] = "log.txt";
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("log4net.xml"));
log4net.ILog logger = log4net.LogManager.GetLogger("Tests");
logger.Debug("Test message");
}
}
我的log4net.xmlconfig文件包含以下内容:
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="%property{logFileName}" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%utcdate{ISO8601} [%level][%logger] %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
我的问题是,为什么log4net创建名为%property{logFileName}的文件,而不使用log.txt替换它
log4net库取自NuGet(Id:log4net版本:2.0.3)。请在xml配置中使用它
<file type="log4net.Util.PatternString" value=".\%property{logFileName}" />
您的建议解决了问题。非常感谢你!非常感谢。在找到这个之前,我一直处于绝望之中,现在我的配置正在工作。:-)