类库里面添加日志记录 log4net
第一步:
新建一个公共类库common,添加CustomLog4jLogger.cs 并引用log4net.dll
/// <summary>
/// 日志记录
/// </summary>
public class CustomLog4jLogger
{
/// <summary>
/// 日志
/// </summary>
public static ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); /// <summary>
/// 日志
/// </summary>
/// <param name="funcstr">方法名称</param>
/// <param name="message">日志描述</param>
/// <param name="args">方法参数</param>
/// <param name="type">类别,1:错误日志,2:操作日志</param>
private static void Log(string apikey, string funcstr, string message, string args, int type)
{
switch (type)
{
case 1:
Logger.Error(string.Format("Func:{0} | Error:{1} | Args:{2}", funcstr, message, args));
break;
case 2:
Logger.Info(string.Format("Key:{0} | Func:{1} | Message:{2}", apikey, funcstr, message));
break;
case 3:
Logger.Warn(message);
break;
}
}
/// <summary>
/// 错误日志
/// </summary>
/// <param name="funcstr">方法名称</param>
/// <param name="message">错误信息</param>
/// <param name="args">方法参数</param>
public static void LogDebug(string funcstr, string message, string args)
{
Log("", funcstr, message, args, 1);
}
/// <summary>
/// 错误日志
/// </summary>
/// <param name="funcstr">方法名称</param>
/// <param name="message">错误信息</param>
public static void LogDebug(string funcstr, string message)
{
LogDebug(funcstr, message, "");
}
/// <summary>
/// 错误日志
/// </summary>
/// <param name="message">错误信息</param>
public static void LogDebug(string message)
{
LogDebug("", message);
} /// <summary>
/// 运行日志
/// </summary>
/// <param name="message">运行信息</param>
public static void LogInfo(string message)
{
LogInfo("", message);
}
/// <summary>
/// 运行日志
/// </summary>
/// <param name="funcstr">方法名称</param>
/// <param name="message">运行信息</param>
/// <param name="args">方法参数</param>
public static void LogInfo(string funcstr, string message)
{
LogInfo("", funcstr, message);
}
/// <summary>
/// 运行日志
/// </summary>
/// <param name="apikey">应用的apikey</param>
/// <param name="funcstr">方法名称</param>
/// <param name="message">运行信息</param>
/// <param name="args">方法参数</param>
public static void LogInfo(string apikey, string funcstr, string message)
{
Log(apikey, funcstr, message, "", 2);
} public static void LogEvent(string message)
{
Log("", "", message, "", 3);
}
}
第二步:
在需要记录日志的类库里,引用common类库,调用:
CustomLog4jLogger.LogInfo("xxxxxx");
第三步:
在调用类库的程序里添加log4net.config(在附件里)并引用log4net.dll
程序调用:
static void Main(string[] args)
{
try
{
log4net.Config.XmlConfigurator.Configure(new FileInfo(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "log4net.config")));
}
}
附件
类库里面添加日志记录 log4net的更多相关文章
- python中添加日志记录到文件
1.实现python日志功能 2.只输出到文件,不输出到控制台 #encoding:utf-8 import logging from common import path_util logging_ ...
- Postsharp简单试用——在业务逻辑类上添加日志记录
1.首先添加PostSharp引用 2.添加特性(Attribute)类 [Serializable] [AttributeUsage(AttributeTargets.Method, AllowMu ...
- 【转】使用Log4Net进行日志记录
首先说说为什么要进行日志记录.在一个完整的程序系统里面,日志系统是一个非常重要的功能组成部分.它可以记录下系统所产生的所有行为,并按照某种规范表达出来.我们可以使用日志系统所记录的信息为系统进行排错, ...
- python添加fluent日志记录
istio默认会进行日志的记录,但是仅仅记录到服务.以及服务之间调用的信息,不记录业务日志. 如: 所以需要添加业务日志记录. 1.python引入package fluentmsgpack 2.代码 ...
- 从壹开始前后端分离 [.netCore 不定期更新 ] 三十五║ 完美实现全局异常日志记录
缘起 哈喽我是不定期更新的日常,昨天群里小伙伴问到了记录日志,当然,以前我也挖过这个坑,后来一直没有来得及填上,也想着 swagger 一直又有错误信息展示的功能,就迟迟没有添加这个功能,不过昨天夜里 ...
- Node.js log4js日志记录
这次需要给之前弄的文件服务器添加日志记录,一般每天产生的日志会特别多所以安装日期来划分是最好的,这里我用了express框架,为了适应express框架这里在log.js文件中写了use方法. //日 ...
- SSIS教程:创建简单的ETL包 -- 3. 添加日志(Adding Logging)
Microsoft Integration Services 包含日志记录功能,可通过提供任务和容器事件跟踪监控包执行情况以及进行故障排除. 日志记录功能非常灵活,可以在包级别或在包中的各个任务和容器 ...
- (14)ASP.NET Core 中的日志记录
1.前言 ASP.NET Core支持适用于各种内置和第三方日志记录提供应用程序的日志记录API.本文介绍了如何将日志记录API与内置提供应用程序一起使用. 2.添加日志提供程序 日志记录提供应用程序 ...
- 基于.NetCore3.1系列 —— 日志记录之日志核心要素揭秘
一.前言 在上一篇中,我们已经了解了内置系统的默认配置和自定义配置的方式,在学习了配置的基础上,我们进一步的对日志在程序中是如何使用的深入了解学习.所以在这一篇中,主要是对日志记录的核心机制进行学习说 ...
随机推荐
- Java50道经典习题-程序12 计算奖金
题目:企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%: 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%: ...
- 【OCP-12c】CUUG 071题库考试原题及答案解析(24)
24. choose the best answer In the EMPLOYEES table there are 1000 rows and employees are working in t ...
- “全栈2019”Java异常第十六章:Throwable详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- jmeter5.1.1启动提示not able to find java executable or version的解决办法
安装jmeter5.1.1完成后,启动报错not able to find java executable or version,如下图所示 解决办法: 1.在环境变量PATH的最后添加如下内容:%S ...
- 实例的初始化由JVM装载类的时候进行,保证了线程的安全性
在23种设计模式中,单例是最简单的设计模式,但是也是很常用的设计模式.从单例的五种实现方式中我们可以看到程序员对性能的不懈追求.下面我将分析单例的五种实现方式的优缺点,并对其在多线程环境下的性能进行测 ...
- day06 --class --home
# -*- coding: utf-8 -*-# @Time : 2018/12/26 20:29# @Author : Endless-cloud# @Site : # @File : day 06 ...
- Centos7.4下安装Mysql8.0.15
一.下载Mysql Mysql下载地址:https://dev.mysql.com/downloads/mysql/ 二.卸载Linux自带的mariadb 安装Mysql之前需要卸载maria ...
- 部署WSUS服务(一)
引言:随着网络的发展,我们的生活也越来越离不开网络,但面临的安全威胁也越来越多.像去年爆发的针对Windows系统的勒索病毒(Wanna Cry)和年初爆发的Intel芯片漏洞告诉我们网络威胁时时刻刻 ...
- leetcode-867-Transpose Matrix(矩阵由按行存储变成按列存储)
题目描述: Given a matrix A, return the transpose of A. The transpose of a matrix is the matrix flipped o ...
- 2016级算法期末上机-C.简单·Bamboo's Fight with DDLs III
简单·Bamboo's Fight with DDLs III 分析 一句话:贪心,简单哈夫曼应用,要求的其实是所有结点的值与权值的乘积之和,也就是带权路径长. 可以理解为非叶子节点的权值的和,这里的 ...