类库里面添加日志记录 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系列 —— 日志记录之日志核心要素揭秘
一.前言 在上一篇中,我们已经了解了内置系统的默认配置和自定义配置的方式,在学习了配置的基础上,我们进一步的对日志在程序中是如何使用的深入了解学习.所以在这一篇中,主要是对日志记录的核心机制进行学习说 ...
随机推荐
- 一次mysql主从同步问题及解决过程
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 由于经常被抓取文章内容,在此附上博 ...
- jquery屏蔽掉键盘enter提交 onkeydown
屏蔽掉enter提交onkeydown onkeydown="if(event.keyCode==13){return false;}"
- “全栈2019”Java异常第十三章:访问异常堆栈跟踪信息
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- thinkphp3搜索结果分页
公司的办公室搬到武昌,办公室水不好喝 还是乐百氏 娃哈哈的水我们oa用的tp3的一套oa,现在boss要求按状态 和类型(2个维度)来搜索案子 数量多,用 分页注意到初始的表单 input的name ...
- BZOJ 1091--切割多边形(几何&枚举)
1091: [SCOI2003]切割多边形 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 356 Solved: 157[Submit][Status ...
- 微信小程序ofo小黄车+thinkphp5.0打造全栈应用
原文地址:https://www.imooc.com/article/20310 ofo至今还没有微信小程序(很费解),每次用ofo都得去支付宝,很不方便,我用微信用的比较多,无意间在简书上面看到某人 ...
- SaltStack 基础
介 SaltStack是基于Python开发的一套C/S架构配置管理工具.它的底层使用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理.号称世界上最快的消息队列Zero ...
- docker微服务部署之:二、搭建文章微服务项目
docker微服务部署之:一,搭建Eureka微服务项目 一.新增demo_article模块,并编写代码 右键demo_parent->new->Module->Maven,选择M ...
- js对象注意
var obj = {}; //定义一个对象 obj[1] = 1; //设置obj对象的属性为数字1属性,属性值为1 obj['1'] = 2398; //设置obj对象的属性为字符串1属性,属性值 ...
- 关闭MAC特效
Launchpad首先打开"终端"(Finder->应用程序->实用工具->终端),并且输入以下命令:defaults write com.apple.dock ...