标签: log4net-configuration

当滚动样式设置为日期时,log4net 有时不会滚动日志文件

我有一个 Windows C# 应用程序,它使用 log4net 进行日志记录。这是记录器的配置方式:

 <log4net>
    <appender name="DebugFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="Local\logs\ApplnTrace.log" />
      <threshold value="INFO" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%5p] - (%file:%line) %m%n" />
      </layout>
    </appender>
    <appender name="MSGFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value=".\local\logs\MsgTrace.log" />
      <threshold value="INFO" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d %n%m%n" />
      </layout>
    </appender>
    <logger name="ApplnLogger">
      <appender-ref ref="DebugFileAppender" />
    </logger>
    <logger name="MsgLogger">
      <appender-ref ref="MSGFileAppender" />
    </logger>
 </log4net>
Run Code Online (Sandbox Code Playgroud)

文件有时根据日期滚动,有时不滚动,当文件不滚动时,日志记录也会停止。有人能帮我找出原因吗?

log4net log4net-configuration

4
推荐指数
1
解决办法
3411
查看次数

禁用log4net中的particluar级别

我必须使用log4net在我的项目中仅禁用跟踪级别.我用谷歌搜索它,但它没有帮助我.所以任何人都可以帮我解决如何关闭跟踪级别以及所有特定级别关闭log4net中的日志记录?

c# log4net-configuration

4
推荐指数
1
解决办法
626
查看次数

如何使用log4net生成名为yyyyMMdd.2.log的文件

这是我用过的appender app.config,它会生成像20120501.log.1我预期的文件20120501.1.log.

<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
  <file value="logs\" />
  <appendToFile value="true" />
  <rollingStyle value="Composite" />
  <datePattern value="yyyyMMddt'.log.'" />
  <countDirection value="1" />
  <maxSizeRollBackups value="100" />
  <maximumFileSize value="1000kb" />
  <staticLogFileName value="false" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
  </layout>
</appender>
Run Code Online (Sandbox Code Playgroud)

log4net log4net-configuration

4
推荐指数
1
解决办法
972
查看次数

如何将配置属性列表读入自定义log4net筛选器

我在log4net中创建自定义过滤器.我发现我可以将配置中的元素映射到过滤器类中的属性,如下所示:

<filter type="ConsoleApplication1.CustomFilter">
    <FooKey value="FooValue"/>
</filter>

public class CustomFilter : FilterSkeleton
{
    public string FooKey { get; set; }

    public override FilterDecision Decide(LoggingEvent loggingEvent)
    {
        return FilterDecision.Accept;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是设置这样的项目列表:

<filter type="ConsoleApplication1.CustomFilter">
    <FooKey value="FooValue"/>
    <FooKey value="BarValue"/>
</filter>

public class CustomFilter : FilterSkeleton
{
    public string[] FooKeys { get; set; }

    public override FilterDecision Decide(LoggingEvent loggingEvent)
    {
        return FilterDecision.Accept;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果可以的话,我该怎么做?

log4net log4net-configuration log4net-filter

4
推荐指数
1
解决办法
347
查看次数

以编程方式设置文件名时,具有MinimalLock锁定模型的log4net无法正常工作

在动态设置日志文件名时,RollingFileAppenderlog4net.Appender.FileAppender+MinimalLock锁定模型一起使用似乎不会将任何内容记录到文件中.但是,在没有此锁定模型的情况下使用appender时,日志记录有效.

在下面的配置文件中,Appender1有效,但Appender2不是:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
  </configSections>

  <log4net>
    <appender name="Appender2"
    type="log4net.Appender.RollingFileAppender" >
      <file type="log4net.Util.PatternString" value="%property{LogName}" />
      <encoding value="utf-8" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10000KB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%logger] %message%n" />
      </layout>
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    </appender>
    <appender name="Appender1"
    type="log4net.Appender.RollingFileAppender" >
      <file type="log4net.Util.PatternString" value="%property{LogName}" />
      <encoding value="utf-8" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10000KB" /> …
Run Code Online (Sandbox Code Playgroud)

c# log4net log4net-configuration log4net-appender

4
推荐指数
1
解决办法
1734
查看次数

使用.NET Core应用程序进行Log4Net配置

我需要在新的.NET Core应用程序上使用log4net,该应用程序引用一些刚刚使用log4net编写的程序集。我进行了搜索,但是所有示例都将传递FileInfo给,log4net.Config.XmlConfigurator.Configure 但是使用最新版本要求输入第一个类型的参数ILoggerRepository repository

我应该通过什么?

我的代码是

   public static void Main(string[] args)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json");

        var configuration = builder.Build();

        ContainerConfig.RegisterDependencies(configuration);
        MappingConfig.RegisterMapping();


        var fileInfo = new FileInfo(@"\config.log4net");

        log4net.Config.XmlConfigurator.Configure(null, fileInfo);



        var core = ContainerWrapper.Container.GetInstance<ICore>();

        core.StartAsync().Wait();

        Console.Write("Press a key to exit");
        Console.ReadLine();
    }
Run Code Online (Sandbox Code Playgroud)

但是null崩溃了

有什么建议么?

log4net log4net-configuration

4
推荐指数
1
解决办法
925
查看次数

获取重复的Log4Net条目

我在日志输出中使用以下web.config条目获取重复行:

<root>
      <priority value="Off"/>
      <appender-ref ref="FileAppender"/>
   </root>
   <logger name="SessionMgr">
      <priority value="ALL" />
      <appender-ref ref="FileAppender" />
    </logger>
Run Code Online (Sandbox Code Playgroud)

如果我拿出元素,我什么也得不到,正如我所料.但是,添加元素会导致重复行.

我不明白的是什么?

log4net log4net-configuration

3
推荐指数
1
解决办法
2800
查看次数

有损记录,错误后也会收到一些消息?

log4net中的有损日志记录非常适合获取事件的详细信息,从而导致错误,并且性能损失最小.然而,在错误之后记录一些消息以验证系统是否按计划处理它通常会很有趣.怎么做到呢?

log4net log4net-configuration

3
推荐指数
1
解决办法
1079
查看次数

log4net日志文件未使用Quartz.net + Common.Logging编写

我正在尝试使用common.logging将记录添加到使用Quartz.net构建的Windows Web服务,以使用log4net写入日志文件.

我的App.config看起来像这样:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/>
    </sectionGroup>     
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    <section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </configSections>
  <quartz>
    <add key="quartz.scheduler.instanceName" value="CommerceScheduler" />
    <add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
    <add key="quartz.threadPool.threadCount" value="10" />
    <add key="quartz.threadPool.threadPriority" value="Normal" />
  </quartz>
  <appSettings>
    <add key="configpath" value="C:\Projects\SiteScheduler\SiteScheduler\Schedule.xml"/>
  </appSettings>
  <common>
    <logging>
      <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
        <arg key="configType" value="INLINE" />
      </factoryAdapter>
    </logging>
  </common>
  <log4net>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <param name="File" value="log.txt" />
      <param …
Run Code Online (Sandbox Code Playgroud)

log4net quartz.net log4net-configuration common.logging

3
推荐指数
1
解决办法
6773
查看次数

在dll中配置log4net日志记录

我正在设置一个dll,用作另一个应用程序的第三方dll.我希望这个dll拥有它自己的日志记录,因此外部应用程序不必处理任何设置(我不相信它们使用与我们相同的日志记录).我读过这可能不是最好的解决方案,但这是我给予的任务.我们想用log4net.我在这里看了几个其他的问题,他们提到它可以通过代码进行配置,但是,我遇到的主要问题是我们的代码中没有明确的切入点来配置log4net.我很好奇我是否应该放弃让dll配置自己并且有一个方法由辅助应用程序调用来配置dll的日志记录,或者是否有更好的方法来解决这个问题.任何输入都将非常感激

c# dll log4net log4net-configuration

3
推荐指数
1
解决办法
9766
查看次数