简介:log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。
当项目发布之后遇到一些问题,无法定位无法调试解决起来困难很大。下面我在项目中的服务程序使用Log4Net的日志记录功能:

1.在包管理工具中安装log4net

2、创建LogHelper类以及log4net.config配置文件。
using log4net;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApp1111111111111
{
public class LogHelp
{
private static readonly ILog logInfo = LogManager.GetLogger("Log");
private static readonly ILog logErr = LogManager.GetLogger("Err");
/// <summary>
/// 记录正常的消息
/// </summary>
/// <param name="msg">消息内容</param>
public static void info(string msg)
{
logInfo.Info(msg);
}
/// <summary>
/// 记录异常信息
/// </summary>
/// <param name="msg">异常信息内容</param>
public static void error(string msg)
{
StackTrace stackTrace = new StackTrace();
StackFrame stackFrame = stackTrace.GetFrame(1);
MethodBase methodBase = stackFrame.GetMethod();
logErr.Error("类名:" + methodBase.ReflectedType.Name + " 方法名:" + methodBase.Name + " 信息:" + msg);
}
}
}
3. 在App.config中添加log4net配置信息 ,(log4net节点是configuration子节点)
<configSections>必须是<configuration>的第一个子节点<log4net可以是最后一个节点>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>

<log4net>
<logger name="Log">
<level value="INFO" />//正常日志
<appender-ref ref="RollingLog" />
</logger>
<logger name="Err">
<level value="ERROR" />异常日志
<appender-ref ref="RollingErr" />
</logger>
<appender name="RollingLog" type="log4net.Appender.RollingFileAppender">
<file value="WindowsServiceLog\" />//存放正常日志文件夹
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.txt'" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 操作信息:%m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender>
<appender name="RollingErr" type="log4net.Appender.RollingFileAppender">
<file value="Err\" />存放异常日志文件夹
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.txt'" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 错误描述:%m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
</log4net>
</configuration>
4. 在项目Properties->AssemblyInfo.cs文件中 添加 [assembly: log4net.Config.XmlConfigurator()]
[assembly: log4net.Config.XmlConfigurator(Watch = true)]

5.调用
private void button28_Click(object sender, EventArgs e)
{
try
{
int[] aa = { 23, 54, 23 };
for (int i = 0; i < aa.Length; i++)
{
Console.WriteLine(aa[i]/0);
}
LogHelp.info("正常");

}
catch (Exception ex)
{
LogHelp.error(ex.Message);
}
}

C# winfrom 添加Log4Net日志库的更多相关文章

  1. C# 添加log4net日志

    一.添加log4net的Nuget包 二.在Web.config或者App.config文件中添加log4net配置 代码: <log4net> <!-- OFF, FATAL, E ...

  2. .net 项目如何添加log4net日志记录

    1.在项目根目录新建文件log4net.config,此文件中的节点解释还请自动百度. 文件实例: <?xml version="1.0"?><configura ...

  3. C#中添加log4net(日志文件)

    1.先下载引用“log4net” 2.然后再App.config配置 3.添加一个LogHandler类 4.在Assemblyinfo类中添加配置的读取文件 5.运用日志文件 6.显示结果

  4. Log4net快速配置使用指南。(快速搭建log4net日志平台手册)

    每做一个新项目,都会用到log4net,但总是忘记如何快速配置.有时在网上搜半天也找不到好的模板,大都在介绍参数的使用,在此做下总结,争取下次用时仅10分钟就可搭建好log4net. 直接上介绍的步骤 ...

  5. Log4net日志使用教程-控制台、文本、数据库三种记录方式

    一.log4net简介: 1. Log4net的优点: 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的 ...

  6. C# 使用 log4net 日志组件

    一. 什么是 log4net  Apache log4net 库是帮助程序员将日志语句输出到各种输出目标的工具,它是从Java中的Log4j迁移过来的一个.Net版的开源日志框架.log4net 的一 ...

  7. .NET Worker Service 添加 Serilog 日志记录

    前面我们了解了 .NET Worker Service 的入门知识[1] 和 如何优雅退出 Worker Service [2],今天我们接着介绍一下如何为 Worker Service 添加 Ser ...

  8. 关于log4net日志的配置流程

    最近又重新整理一下log4net日志的配置,现在记录一下流程和一些遇到的问题,以备后续使用,具体的配置参数等信息.此文无,见谅! 1. 下载log4net.dll文件(网上很多,随便找一个!) 2. ...

  9. Log4net 日志使用介绍

    概述 Log4net 有三个主要组件:loggers,appenders 和 layouts.这三个组件一起工作使得开发者能够根据信息类型和等级(Level)记录信息,以及在运行时控制信息的格式化和信 ...

  10. LOG4NET日志配置及使用

    Log4net的安装 Install-Package log4net 1.先弄个日志记录的类 /// <summary> /// 使用LOG4NET记录日志的功能,在WEB.CONFIG里 ...

随机推荐

  1. shell实现接口初次失败告警,恢复也发送一次通知

    1.该shell判断 第一次失败告警,接口恢复发送一次通知 参数:一个参数接口返回结果0 表示成功 1表示失败 脚本详情 [root@localhost bd]# more bd-new.sh #!/ ...

  2. 字符类型(char)

    字符类型(char) 基本介绍 字符类型可以表示`单个字符`,字符类型是char,char是两个字节(可以存放汉字),多个字符我们用字符串String(我们后面详细讲解String) 案例演示 //演 ...

  3. RabbitMQ的安装与基本使用(windows版)

    基本结构 windows安装 1.  先安装erlang开发语言,然后安装rabbitmq-server服务器(需要比对rabbitmq版本和erlang版本对应下载安装,我项目中选用的版本为otp_ ...

  4. 蓝牙mesh消息包与以太网帧的分层构成

    目录 笔者在接触以太网之前,先了解的是蓝牙mesh的各类信息.现翻看一本介绍TCP/IP协议的资料,发现应用层数据在以太网协议栈内的封装过程与蓝牙mesh协议栈内的封装过程异曲同工.下图左侧是手头这本 ...

  5. zabbix连接Mysql提示Can’t connect to local MySQL server through socket的解决方法

    要解决此错误,有两种解决方法: 1.将连接参数"host"的值由"localhost"改成"127.0.0.1": 2.按下面方法,在&qu ...

  6. 18.SQLite应用案例-课程表

    一.程序界面 1.课程表首页 一周有7天,一天有10节课. 课程表首页的布局activity_main.xml框架设计大致如此: 最外层使用线性布局设置屏幕水平方向android:orientatio ...

  7. 谷歌是如何改进 GKE、Cloud Run 的 gVisor 文件系统性能的?

    灵活的应用程序架构.CI/CD 管道和容器工作负载通常运行不受信任的代码,因此应该与敏感的基础设施隔离.一种常见的解决方案是部署纵深防御产品(如使用gVisor的GKE Sandbox)以通过额外的保 ...

  8. 【springboot】约定优于配置

    spring的核心思想:约定优于配置 @SpringBootApplication这个注解的本质是有以下三个注解 1.@SpringBootConfiguration 表示该类是一个配置类 2.@En ...

  9. 【数据库数据恢复】Oracle数据库数据恢复案例

    数据库故障:Oracle数据库的ASM磁盘组掉线,ASM实例不能挂载.管理员尝试修复数据库但是没有成功. 数据库数据恢复方案:数据库数据恢复工程师通过分析组成ASM磁盘组的磁盘底层数据,将ASM元数据 ...

  10. 第三周day3

    第三周day3,星期三 所花时间:1h 代码量:48 博客量:1 了解知识:Button触发点击事件的三种实现方式,onClick.匿名内部类方式.接口方式.