log4net快速上手

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 园子里有一篇 Log4Net使用指南 写得很详细,推荐给准备使用log4net的同学看看。 如果你不想花太多时间研究,也可以按下面的步骤在5分钟内搞定: 1、添加对log4net.dll的引用 2、修改配置文件,以app.

园子里有一篇 Log4Net使用指南 写得很详细,推荐给准备使用log4net的同学看看。

如果你不想花太多时间研究,也可以按下面的步骤在5分钟内搞定:

1、添加对log4net.dll的引用

2、修改配置文件,以app.config为例,参考内容如下:

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

<configuration>

	<configSections>
		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
	</configSections>
	<log4net>
		<logger name="jimmy.logger">
			<!--ALL->DEBUG->INFO->WARN->ERROR->FATAL->OFF 级别依次增加,
			即:如果设置为INFO,则DEBUG类型的日志将不被记录;
			如果设置为ERROR,则仅ERROR/FATAL二种级别的日志将被记录-->
			<level value="WARN"/>
			<appender-ref ref="RollingLogFileAppender"/>
		</logger>
		<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
			<!--是否追加到文件-->
			<param name="AppendToFile" value="true" />
			<!--日志文件最大10M-->
			<param name="MaxSizeRollBackups" value="10" />
			<param name="StaticLogFileName" value="false" />
			<!--日志文件名前缀-->
			<param name="File" value="log\\" />
			<!--日志文件名按日期生成-->
			<param name="RollingStyle" value="Date" />
			<!--日志文件名的生成格式:yyyyMMdd.txt-->
			<param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
			
			<!--日志记录的格式-->
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
			</layout>
		</appender>
	</log4net>
</configuration>
3、示例代码
using System;
using log4net;


namespace console_demo
{
    class Program
    {      

        static void Main(string[] args)
        {
            log4net.Config.XmlConfigurator.Configure();
            ILog log = LogManager.GetLogger("jimmy.logger"); //这里的名字,要跟config中 logger name中对应          

            Console.WriteLine("log4net started...");
            Console.WriteLine("IsInfoEnabled={0}\nIsDebugEnabled={1}\nIsWarnEnabled={2}\nIsErrorEnabled={3}\nIsFatalEnabled={4}", log.IsInfoEnabled, log.IsDebugEnabled, log.IsWarnEnabled, log.IsErrorEnabled,log.IsFatalEnabled);

            if (log.IsInfoEnabled)
            {
                log.Info("info test");
            }

            if (log.IsDebugEnabled) 
            {
                log.Debug("Debug test");
            }

            if (log.IsWarnEnabled)
            {
                log.Warn("Warn test");
            }

            if (log.IsErrorEnabled)
            {
                log.Error("Error test");
            }

            if (log.IsFatalEnabled)
            {
                log.Fatal("Fatal test");
            }

            Console.ReadKey();
        }
    }
}
运行后,将在程序同级目录下,自动创建log目录,并生成类似20110417.txt的日志文件,内容类似下面这样:
2011-04-17 20:41:25,347 [6948] WARN  jimmy.logger [(null)] - Warn test
2011-04-17 20:41:25,463 [6948] ERROR jimmy.logger [(null)] - Error test
2011-04-17 20:41:25,465 [6948] FATAL jimmy.logger [(null)] - Fatal test
注:因为config的log4net节点配置了日志级别为WARN,所以低于WARN级别的DEBUG,INFO信息并没有记录在日志中。
文中示例源代码下载: http://files.cnblogs.com/yjmyzz/log4net_demo.7z
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
|
C++
VS-2019-.NET-C#使用log4net打日志,程序日志记录
VS-2019-.NET-C#使用log4net打日志,程序日志记录
161 0
.Net Core使用 Log4Net
.Net Core使用 Log4Net
101 0
|
XML 数据采集 开发框架
asp.net core添加全局异常处理及log4net、Nlog应用
文章来源于阿里云 MVP郭联钰。
547 0
|
SQL 监控 安全
Log4net使用详细说明
1、概述 log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段。
1347 0
|
缓存
.Net Core Logger 实现log写入本地文件系统
.net core 自带一个基础的logger框架Microsoft.Extensions.Logging。 微软默认实现了Microsoft.Extensions.Logging.Console.dll。
2197 0
|
监控
Log4net之简介
log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。Java平台下,它还有一个姐妹组件——log4j。
774 0
下一篇
无影云桌面