log4net到类库

规格

我有一个附加到Internet Explorer(资源管理器的附加组件)的类库项目,我想使用来记录该类库log4net,我向该App.config项目添加了一个文件:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>
  <appSettings>
    <add key="log4net.Config" value="log4net.config"/>
    <add key="log4net.Config.Watch" value="True"/>
  </appSettings>

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="RollingFileAppenderSize" type="log4net.Appender.RollingFileAppender">
      <file value="FromLog4netLon.log" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <encoding value="utf-8" />
      <maximumFileSize value="10MB" />
      <maxSizeRollBackups value="5" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{ABSOLUTE} [%logger] %level - %message%newline%exception" />
      </layout>
    </appender>
    <root>
      <level value="FATAL" />
      <level value="WARN" />
      <level value="INFO" />
      <level value="DEBUG" />
      <appender-ref ref="RollingFileAppenderSize" />
    </root>
  </log4net>
</configuration>

AssemblysInfo.cs我加下[assembly: log4net.Config.XmlConfigurator(Watch = true)]

在我的项目中,我添加了

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

我尝试这样写:

log.Info("test log");

我也尝试添加以下内容:

FileInfo fi = new FileInfo(@"D:\IExtonsionsTests\1\bin\Debug\ClassLibrary.dll.config");
log4net.Config.XmlConfigurator.Configure(fi);

但是它没有写日志文件,我还缺少什么?

阿德里安·埃福德(Adrian Efford)

确保您的文件值正确并且路径确实存在。您缺少最重要的东西,即记录器。只需在附加程序后插入以下代码

即可:(如果需要,您可以添加多个记录器)


<logger name="STANDART" additivity="false">
        <level value="ALL"/>
        <appender-ref ref="RollingFileAppenderSize"/>
    </logger>

您的代码应如下所示:

public enum LoggerTypes
{
    STANDART = 0
}
public class Logger1
{
    private static readonly string _loggerConfigDic = "..\\..\\YOURFOLDER\\YOURFILENAME.xml";
    private static readonly List<string> _names = new List<string> { "STANDART" }; /*Logger names in config file*/

    public static ILog GetLogger(LoggerTypes loggerType)
    {
        var fileInfo = new FileInfo(_loggerConfigDic);
        XmlConfigurator.ConfigureAndWatch(fileInfo);
        return LogManager.GetLogger(_names[(int)loggerType]);
    }
}

public class myClass
{
    public void SomeMethod()
    {
        var logger = Logger1.GetLogger(LoggerTypes.STANDART);
        logger.Debug("your message here");
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Log4Net不会从类库登录

来自分类Dev

使用log4net作为类库?

来自分类Dev

Log4net不登录到数据库

来自分类Dev

IIS中托管的WCF服务库的log4net

来自分类Dev

Log4net日志消息到Documentdb

来自分类Dev

将log4net ConfigurationFile传递到新的AppDomain

来自分类Dev

在使用/父项目中指定要在类库中使用的log4net配置

来自分类Dev

在使用/父项目中指定要在类库中使用的log4net配置

来自分类Dev

从 WCF 服务库项目调用时,Log4Net 记录器类不创建文件?

来自分类Dev

无法在 .NET Standard 库项目中从 NuGet 安装 log4net

来自分类Dev

在遵循 MVVM 的 C#.NET 项目中合并 log4net 包装类

来自分类Dev

log4net写入文件可以,但是无法插入数据库

来自分类Dev

log4net的文件和数据库多个配置

来自分类Dev

Log4Net在SQL Server数据库中不写入任何内容

来自分类Dev

log4net未将异常记录到数据库,未显示任何错误

来自分类Dev

Log4Net AdoNetAppender-截断表/删除旧记录/限制数据库大小

来自分类Dev

MySQL Appender不在Log4Net中的数据库中插入数据

来自分类Dev

在静态上下文中使用Log4net不能从DLL库工作

来自分类Dev

Log4Net 在错误后未登录数据库,它如何登录文件

来自分类Dev

Log4net 无法使用 C# 写入数据库

来自分类Dev

使用简单注入器为Log4Net实现Logger类

来自分类Dev

为特定类配置 Log4Net 和过度错误处理

来自分类Dev

将log4net插入(空)到自定义列

来自分类Dev

如何组装将log4net重定向到新版本

来自分类Dev

升级到4.3.16后,log4net的postharp构建问题

来自分类Dev

使用Log4Net时将整数值存储到ElasticSearch中

来自分类Dev

log4net无法将数据插入到自定义列

来自分类Dev

Log4Net和奥尔良

来自分类Dev

Web服务中的Log4net

Related 相关文章

热门标签

归档