Log4Net 常见错误提示(不断更新中)

时间:2023-03-09 06:18:55
Log4Net 常见错误提示(不断更新中)

1. 无法识别log4中的节点,如:<section>等

解决办法:在configrition中直接申明log4

<configSections><!--必须为第一个节点-->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>

2.无法创建txt日志

解决办法:请查看应用的log4配置文件路径是否正确

3.按照时间和大小无法分割文件

解决办法:1)必须使用param name= 才可以; 2)是否将文件名设置为固定不变

4.将日志文件放在用户目录下的我的文档(特殊路径)

解决办法:

1)英文版系统版本

<file value="%USERPROFILE%\My Documents\MyApp\log.txt"/>

  

2)非英文系统版本

<file type="log4net.Util.PatternString" value="%envFolderPath{MyDocuments}\MyApp\log.txt" />

5.定义自己的消息版本

1) Modify the command text:

INSERT INTO Log4Net ([Date],[Thread],[Level],[Logger],[Message],[Exception],[MyColumn]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception, @CustomColumn)

2) Add the parameter definition for the custom column:

<parameter>
<parameterName value="@CustomColumn"/>
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{CustomColumn}" />
</layout>
</parameter>

3) Then use one of log4net’s contexts to transfer values to the parameter:

// thread properties...
log4net.LogicalThreadContext.Properties["CustomColumn"] = "Custom value";
log.Info("Message"); // ...or global properties
log4net.GlobalContext.Properties["CustomColumn"] = "Custom value";