类库里面添加日志记录 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系列 —— 日志记录之日志核心要素揭秘
一.前言 在上一篇中,我们已经了解了内置系统的默认配置和自定义配置的方式,在学习了配置的基础上,我们进一步的对日志在程序中是如何使用的深入了解学习.所以在这一篇中,主要是对日志记录的核心机制进行学习说 ...
随机推荐
- iOS 错误 undefined symbols for architecture i386
undefined symbols for architecture i386 这个错误困扰了我几个小时. 网上很多问这个问题的,回答基本上都是说在 target 里面去的 armv64 什么什么的. ...
- Oracle数据库01
常用函数 COUNT(*):统计所有的数据量,没有过滤功能 COUNT(字段):统计出指定字段不为null的数据量,有过滤功能 COUNT(DISTINCT 字段):统计指定字段不为空并且去掉重复数据 ...
- WPF InkCanvas EditingMode为Select时 在其选择时各种事件中撤销Select模式的方法
InkCanvas有多种输入模式. 通过InkCanvasEditingMode来进行对其调整 分别是 None=0// 忽略鼠标和手写笔输入 Ink = 1// 允许用户绘制批注,默认模式.使用鼠标 ...
- gitlab中修改项目名称客户端修改方法
如果gitlab项目名称已经修改,对于本地已经克隆下来的仓库,可以使用如下命令进行修改: git remote set-url origin 新的项目路径
- css3半圆
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- “全栈2019”Java异常第九章:throws关键字详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- java中二维数组遍历
public class Demoshuzu2 { public static void main(String[] args) { int[][] arr2 = {{78,79,65, ...
- 脚本:定时释放 Linux/CentOS 缓存【转载自:杭州山不高】
定时释放Linux/CentOS缓存的脚本(yl_dropcaches)如下: #!/bin/bash used=`free -m | awk 'NR==2' | awk '{print $3}'` ...
- 使用X-Pack插件来进行权限控制
1.为elasticsearch安装X-Pack插件.进入 elasticsearch根目录,执行: bin/elasticsearch-plugin install x-pack杀掉进程,重启es, ...
- Xcode升级到9.3之后pod问题
最近新建了一个项目,然后在终端pod init的时候出现了问题,复制粘贴部分错误信息 MacBook-Pro:testDemo xywy$ pod init [in /Users/xywy/Deskt ...