欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

log4net的配置和简单使用

程序员文章站 2024-02-02 11:26:10
...

1. 安装log4net

打开VS 然后 Tools -> NuGet Package Manager -> Manager NuGet Packages for Solution...

log4net的配置和简单使用

浏览 搜索 log4net 然后选择要安装的项目, 点击 install 按钮

log4net的配置和简单使用

安装完毕以后, 在 Solution Explorer 里面可以看到新的文件packages.config, 可以查看安装的 log4net 版本

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="log4net" version="2.0.8" targetFramework="net45" />
</packages>

2. 配置 log4net

2.1 创建 log4net 配置文件 log4net.config

对 solution 右键 -> add -> add new items, 选择 configuration 文件, 文件名改为 log4net.config

log4net的配置和简单使用

log4net.config 文件右键, 打开 Properties, 修改 Copy to Output DirectoryCopy if newer.

log4net的配置和简单使用

2.2 配置 log4net.config 文件

打开 log4net.config 文件, 并修改为以下内容:

<?xml version="1.0" encoding="utf-8"?>
<log4net>
  <!-- 控制台日志配置 -->
  <appender name="Console" type="log4net.Appender.ConsoleAppender">
    <!-- 日志输出格式 -->
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
    </layout>
  </appender>
 
  <!-- 文件存储日志配置 -->
  <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
    <!-- 保存文件的名称 -->
    <file value="D:\log.log" />
    <appendToFile value="true" />
    <!-- 文件的编码方式 -->
    <param name="Encoding" value="UTF-8"/>
    <!-- 每个文件的大小 -->
    <maximumFileSize value="100KB" />
    <!-- 保存文件数量 -->
    <maxSizeRollBackups value="2" />
    <!-- 日志输出格式 -->
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%level %thread %logger - %message%newline" />
    </layout>
  </appender>
 
  <root>
    <level value="ALL" />
    <appender-ref ref="Console" />
    <appender-ref ref="RollingFile" />
  </root>
</log4net>

上述配置为 控制台输出 和 文件输出两种日志配置.

2.3 配置 AssemblyInfo.cs

打开Solution 的 ..\Properties\AssemblyInfo.cs, 在最后将 log4net.config 设置给 log4net:

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
 
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Common")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Common")]
[assembly: AssemblyCopyright("Copyright ©  2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
 
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components.  If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
 
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("b2e1fd9f-3864-4b44-97ee-efa1d225ce53")]
 
// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
 
// 指定log4net 的配置文件
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

3. 测试日志

打开 Program.cs 文件, 修改为以下内容:

namespace Common
{
    public class Program
    {
        private static ILog log = LogManager.GetLogger("Test");
 
        static void Main(string[] args) {
            log.Error("错误", new Exception("发生了一个异常"));//错误
            log.Fatal("严重错误", new Exception("发生了一个致命错误"));//严重错误
            log.Info("信息"); //记录一般信息
            log.Debug("调试信息");//记录调试信息
            log.Warn("警告");//记录警告信息
            Console.ReadKey();
        }
    }
}

运行该文件,得到的结果如下:

log4net的配置和简单使用

同时在在我的电脑 D盘 生成了一个日志文件:

log4net的配置和简单使用

至此, log4net 配置完成.

后记

此文为 log4net 的添加配置 和 简单使用, 更详细的配置等后续使用时在做总结. 也可参考以下文章:

Apache log4net – Apache log4net Manual: Configuration - Apache log4net

Log4Net使用详解 - 技术江湖-小焕 - 博客园

欢迎关注我的公众号获取最新的文章, 或者 移步我的博客: http://blog.devwiki.net

log4net的配置和简单使用