标签: log4net-configuration

如何为我的控制台输出设置DEBUG,为我的FileAppender设置INFO?

我还没有完成这个工作 - 如何为我的控制台输出设置DEBUG,为我的FileAppender设置INFO?也就是说,我如何更改下面的配置,以便我可以让ConsoleAppender从DEBUG向上泵出所有日志记录?请注意,这两个appender都需要覆盖所有日志记录(即我不想使用仅为一个记录器名称更改日志级别的作用域记录器元素).

  <log4net>

    <root>
      <level value="INFO" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="ConsoleAppender" />
    </root>

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
      <param name="File" value="log-file.txt" />
      <param name="AppendToFile" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="[Header]\r\n"/>
        <param name="Footer" value="[Footer]\r\n"/>
        <param name="ConversionPattern"
           value="%d [%t] %-5p %c [%x] - %m%n"
        />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG" />
        <param name="LevelMax" value="WARN" />
      </filter>
    </appender>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
    </appender>

  </log4net>
Run Code Online (Sandbox Code Playgroud)

log4net log4net-configuration

2
推荐指数
1
解决办法
2724
查看次数

Log4Net配置XML

我的App.config如下.该文件与调用的项目相同:

log4net.Config.XmlConfigurator.Configure();
private static log4net.ILog Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Run Code Online (Sandbox Code Playgroud)

但是我收到了:

Log4net:ERROR XmlConfigurator无法在应用程序的.config文件中找到配置节'log4net'.检查.config文件中的<log4net><configSections>元素.配置部分应如下所示:<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /

因为我刚开始使用log4net,我觉得我犯了一个愚蠢的错误.对此有何帮助?

<!-- language: xml -->

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

 <log4net>

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="C:\log-file.txt" />
  <appendToFile value="true"/>
  <rollingStyle value="Size" />
  <maximumFileSize value="1MB" />
  <staticLogFileName value="true" />
  <maxSizeRollBackups value="10" />
  <conversionPattern value="%date [%thread] %-5level %location %logger -    %message%newline" />
  <layout type="log4net.Layout.SimpleLayout" />
</appender>

<root>
       <level value="ALL" />
       <appender-ref ref="RollingFileAppender" />
</root>
</log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

c# logging log4net log4net-configuration

2
推荐指数
1
解决办法
7661
查看次数

配置系统无法在log4net中初始化

我在窗口应用程序中从app_config读取连接字符串时收到此异常"配置系统无法初始化"

string con = ConfigurationSettings.AppSettings["ConnectionString"].ToString();
Run Code Online (Sandbox Code Playgroud)

输入以下行后在此行上

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Run Code Online (Sandbox Code Playgroud)

在AssemblyInfo.cs中.如果我从Assemblyinfo.cs中删除这一行,那么我没有异常我添加此程序集用于记录目的

.net c# log4net connection-string log4net-configuration

2
推荐指数
1
解决办法
5607
查看次数

使用Log4net Smtp appender自定义电子邮件正文

如何使用Log4net Smtp appender自定义电子邮件正文?我想向身体添加自定义消息.

c# log4net-configuration smtpappender

2
推荐指数
2
解决办法
3917
查看次数

防止Log4Net写入所有日志文件

我使用log4net进行了以下配置.问题是我的C#代码中的记录器现在将错误记录到两个日志文件中.我在同一个Windows服务中有两个不同的服务类.我使用以下行在一个服务中初始化记录器:

private static readonly ILog _logger = LogManager.GetLogger(typeof(EmployeeImportService));
Run Code Online (Sandbox Code Playgroud)

但是当这个服务运行并记录时,它会写入两个日志文件.

<log4net>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <param name="File" value="C:\Temp\HRFiles\Sharp\Log\Log.txt" />
      <param name="AppendToFile" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
      </layout>
    </appender>
    <appender name="OvertimeLogFileAppender" type="log4net.Appender.FileAppender">
      <param name="File" value="C:\Temp\HRFiles\YTD\Log\Log.txt" />
      <param name="AppendToFile" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
      </layout>
    </appender>

    <root>
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="OvertimeLogFileAppender" />
    </root>
</log4net>
Run Code Online (Sandbox Code Playgroud)

如何配置它以便每个服务都写入自己的日志文件?我读到配置中的logger标签有一个additivity属性可以解决这个问题,但我的配置中没有logger元素.

log4net log4net-configuration

2
推荐指数
1
解决办法
1062
查看次数

Godaddy 托管的 MVC 站点上的 log4net 无法正常工作

我有 log4net 日志记录在我的开发机器上运行良好

我现在已经部署到 goDaddy,它似乎没有做任何事情。我已经尝试过这里的建议

Log4Net 在开发机器上工作,部署到共享主机时失败(使用相同的 db/connstring)

但仍然没有运气

我没有收到任何错误,但也没有创建日志文件

我曾尝试根据这里的 Godaddy 帮助文件使用绝对路径

https://au.godaddy.com/help/what-is-my-absolute-path-16024

这是我在我的 web 配置文件中的配置

<log4net debug="true">
     <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="G:\PleskVhosts\mydomain\httpdocs\logs\log4net.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
         <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
      </layout>
    </appender>

    <root>
      <level value="ALL" />
      <appender-ref ref="RollingLogFileAppender" />
    </root>
  </log4net>
  <system.diagnostics>
    <trace autoflush="true" indentsize="4">
      <listeners>
        <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="G:\PleskVhosts\mydomain\httpdocs\logs\TextWriterOutput.log" />
        <remove name="Default" />  
     </listeners>
    </trace>
  </system.diagnostics>
Run Code Online (Sandbox Code Playgroud)

我没有得到任何 log4net.txt …

log4net log4net-configuration

2
推荐指数
1
解决办法
561
查看次数

尝试配置 log4net 时出现 TypeInitializationException

我有一个 VS2015 解决方案,其中包含一个服务层,该服务层公开一组 WCF 服务,以及一个使用它们的 WPF 客户端。我已经配置了 log4net 并且在服务层工作正常

我现在想在客户端使用 log4net,因此添加了 log4net NuGet 包,并将节点从服务层的配置文件复制到客户端的 App.config 文件中。完整的文件看起来像这样......

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

<configuration>
  <startup>
    <supportedRuntime version="v4.0"
                      sku=".NETFramework,Version=v4.5.2" />
  </startup>

  <log4net>
    <appender name="RollingFileAppender"
              type="log4net.Appender.RollingFileAppender">
      <param name="File"
             value="PhysioDiary.log" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="2" />
      <maximumFileSize value="1MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-7level %logger - %message%newline%exception" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="RollingFileAppender" />
    </root>
  </log4net>

  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="LargeMessageBehavior">
          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>
      </endpointBehaviors> …
Run Code Online (Sandbox Code Playgroud)

c# wpf log4net log4net-configuration

2
推荐指数
1
解决办法
3793
查看次数

即使关闭浏览器站点,Log4net文件也会被锁定

我正在使用VS 2013和Log4Net来记录.Net应用程序的数据。我可以创建日志。但是当我尝试删除或移动日志文件时,它说

The file is open in another process... 
Run Code Online (Sandbox Code Playgroud)

即使浏览器关闭,我也会收到此消息。关闭Visual Studio IDE工具时,我只能编辑/剪切/重命名..日志文件。我怎么解决这个问题。我希望能够随时删除/编辑文件。这是web.config中使用的log4net的代码

 <configSections>
 <section name="log4net" 
 type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
 </configSections>

 <log4net>
   <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
   <file value="c:\logs\jwhXMLDev.log" />
   <appendToFile value="true" />
   <!-- <layout type="log4net.Layout.XmlLayout"/>-->
   <layout type="log4net.Layout.XmlLayout" />
   </appender>
   <appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
   <onlyFixPartialEventData value="true" />
   </appender>
<root>
  <level value="ALL" />
  <appender-ref ref="RollingFile" />
</root>
</log4net>
Run Code Online (Sandbox Code Playgroud)

.net logging log4net log4net-configuration

2
推荐指数
1
解决办法
590
查看次数

Log4Net AdoNetAppender - 格式化日志日期以获取包含的秒数

我的问题是我的数据库日志不显示秒(默认格式似乎是“yyyy-MM-dd hh:mm:00”。有什么方法可以改变这一点并至少获得几秒钟的东西(毫秒将是一个加号) )?

这是我的附加程序配置:

<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
  <bufferSize value="1" />
  <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <connectionString value="data source=MyDB;initial catalog=LogSpace;integrated security=True;persist security info=True;Application Name=&quot;MyApp &quot;" />
  <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
  <parameter>
    <parameterName value="@log_date" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.RawTimeStampLayout" />
  </parameter>
  <parameter>
    <parameterName value="@thread" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%thread" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@log_level" />
    <dbType value="String" />
    <size value="50" />
    <layout type="log4net.Layout.PatternLayout"> …
Run Code Online (Sandbox Code Playgroud)

log4net log4net-configuration log4net-appender

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

log4net Azure Blob Appender

将日志保存到 Azure Blob 存储时,是否可以每天创建不同的文件夹?现在我正在使用这个配置,它工作正常

<appender name="AzureAppender2" type="log4net.Appender.AzureBlobAppender, log4net.Appender.Azure">
     <param name="ContainerName" value="testcon" />
     <param name="DirectoryName" value="myfolder/logs.txt" />
     <param name="ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=testcon;AccountKey="rftgdfgdfgfdg78=="/>
     <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
</appender>
Run Code Online (Sandbox Code Playgroud)

我已经试过了

<param name="DirectoryName" value=%date/" />
Run Code Online (Sandbox Code Playgroud)

但它不起作用

我想要的是能够每天动态使用不同的文件夹:比如

目录名称 = 2016-05-13

目录名称 = 2016-05-12

目录名称 = 2016-05-11

这是可以实现的吗?

谢谢

log4net azure log4net-configuration log4net-appender azure-blob-storage

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

log4net如何设置特定程序集的日志级别?

我正在使用利用log4net的第三方程序集.有问题的程序集经常记录到"信息"日志级别.这会给我的应用程序带来很多噪音,这是我不想要的.

有没有办法为特定程序集配置不同的日志级别?

.net log4net log4net-configuration

0
推荐指数
1
解决办法
3212
查看次数

Log4net ConnectionString 不适用于 SQL Azure

我尝试了一切。使用本地文件可以正常工作,我必须在本地计算机中安装 SQL Server 实例并且也可以正常工作,但是当我将连接字符串更改为 SQL Azure 时,该实例就不起作用了。我正在我的应用程序所在的 Visual Studio 内的服务器资源管理器中测试相同的用户和密码。我不知道还能做什么。

log4net connection-string log4net-configuration azure-sql-database

0
推荐指数
1
解决办法
493
查看次数

为什么log4Net没有登录到Oracle 11g?

我正在使用OracleAppender在Oracle 11g表中记录消息.但它没有记录任何东西.我也使用EventLogAppender和RollingFileAppender工作正常并记录消息.但OracleAppender无法运行.Oracle appender的log4Net配置部分如下所示:

  <connectionType value="Oracle.DataAccess.Client.OracleConnection, Oracle.DataAccess, Version=4.113.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
  <connectionString value="DATA SOURCE= servername:portname/DBNAME; USER ID= user-id; PASSWORD= password;" />  
  <!--Below is the hardcoded insert for testing purpose-->
  <commandText value="Insert into MSG_LOG  (LOG_ID, COMPONENT_NAME, LOG_DETAILS, LOG_PARAMETER_LIST, LOG_TYPE, REQUEST_ID, QUEUE_ID, OTHER_ID, LOG_USER_ID, LOG_DATE)
                         VALUES (335, '', '', '', 'test', '','', '', 'test', NULL)" />
Run Code Online (Sandbox Code Playgroud)

我现在已经挣扎了很长一段时间了,所以想到要问.您是否能够看到任何我可能无视的明显问题?

非常感谢.

log4net oracle11g log4net-configuration

0
推荐指数
1
解决办法
1891
查看次数