我有一个C#应用程序。我想整合一个日志文件。然后我尝试在App.config中执行此操作
<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="logfile.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] – %message%newline" />
</layout>
</appender>
<appender name="InfoFileAppender" type="log4net.Appender.FileAppender">
<file value="info_logfile.txt" />
<appendToFile value="true" />
</appender>
<appender name="ErrorFileAppender" type="log4net.Appender.FileAppender">
<file value="error_logfile.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] – %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="FileAppender" />
<level value="INFO" />
<appender-ref ref="InfoFileAppender" />
<level value="ERROR" />
<appender-ref ref="ErrorFileAppender" />
</root>
</log4net>
所以我尝试写infoFile:
log.Info("chiamata json");
但我在info_logfile.txt
中看不到任何文字我的错误在哪里?
我们可以帮助我吗?
Reguards
答案 0 :(得分:0)
您是否实例化了日志文件?尝试以下操作以查看它是否适用于控制台appender。 (此示例是从David Saltner复制的)
using log4net;
using log4net.Config;
public class LogTest
{
private static readonly ILog logger =
LogManager.GetLogger(typeof(LogTest));
static void Main(string[] args)
{
BasicConfigurator.Configure();
logger.Debug("Here is a debug log.");
logger.Info("... and an Info log.");
logger.Warn("... and a warning.");
logger.Error("... and an error.");
logger.Fatal("... and a fatal error.");
}
}
private static readonly ILog logger =
LogManager.GetLogger(typeof(LogTest));
这将为LogTest类创建一个记录器。您不必为每个类使用不同的记录器,您可以在代码中为不同的部分或包使用不同的记录器。记录器的类输出到日志,以便您知道任何记录信息的来源。
BasicConfigurator.Configure();
此方法初始化log4net系统以使用简单的Console appender。使用它可以让我们快速了解log4net的工作原理,而无需设置不同的appender。
这应该让你开始。查看此great article for a brief introduction,了解如何设置appender等。
答案 1 :(得分:0)
如果配置在app.config文件中,则需要在配置文件中添加部分:
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net, Version=1.2.10.0,
Culture=neutral, PublicKeyToken=1b44e1d426115821" />
</configSections>
最好将log4.net配置为log4net.config文件。然后,您需要将以下行添加到程序集中,该行读取您的配置文件:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]