第一步:

新建一个公共类库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的更多相关文章

  1. python中添加日志记录到文件

    1.实现python日志功能 2.只输出到文件,不输出到控制台 #encoding:utf-8 import logging from common import path_util logging_ ...

  2. Postsharp简单试用——在业务逻辑类上添加日志记录

    1.首先添加PostSharp引用 2.添加特性(Attribute)类 [Serializable] [AttributeUsage(AttributeTargets.Method, AllowMu ...

  3. 【转】使用Log4Net进行日志记录

    首先说说为什么要进行日志记录.在一个完整的程序系统里面,日志系统是一个非常重要的功能组成部分.它可以记录下系统所产生的所有行为,并按照某种规范表达出来.我们可以使用日志系统所记录的信息为系统进行排错, ...

  4. python添加fluent日志记录

    istio默认会进行日志的记录,但是仅仅记录到服务.以及服务之间调用的信息,不记录业务日志. 如: 所以需要添加业务日志记录. 1.python引入package fluentmsgpack 2.代码 ...

  5. 从壹开始前后端分离 [.netCore 不定期更新 ] 三十五║ 完美实现全局异常日志记录

    缘起 哈喽我是不定期更新的日常,昨天群里小伙伴问到了记录日志,当然,以前我也挖过这个坑,后来一直没有来得及填上,也想着 swagger 一直又有错误信息展示的功能,就迟迟没有添加这个功能,不过昨天夜里 ...

  6. Node.js log4js日志记录

    这次需要给之前弄的文件服务器添加日志记录,一般每天产生的日志会特别多所以安装日期来划分是最好的,这里我用了express框架,为了适应express框架这里在log.js文件中写了use方法. //日 ...

  7. SSIS教程:创建简单的ETL包 -- 3. 添加日志(Adding Logging)

    Microsoft Integration Services 包含日志记录功能,可通过提供任务和容器事件跟踪监控包执行情况以及进行故障排除. 日志记录功能非常灵活,可以在包级别或在包中的各个任务和容器 ...

  8. (14)ASP.NET Core 中的日志记录

    1.前言 ASP.NET Core支持适用于各种内置和第三方日志记录提供应用程序的日志记录API.本文介绍了如何将日志记录API与内置提供应用程序一起使用. 2.添加日志提供程序 日志记录提供应用程序 ...

  9. 基于.NetCore3.1系列 —— 日志记录之日志核心要素揭秘

    一.前言 在上一篇中,我们已经了解了内置系统的默认配置和自定义配置的方式,在学习了配置的基础上,我们进一步的对日志在程序中是如何使用的深入了解学习.所以在这一篇中,主要是对日志记录的核心机制进行学习说 ...

随机推荐

  1. 源码编译安装MySQL-5.6/mysql-5.6.39------踩了无数坑,重装了十几次服务器才会的,不容易啊!

    1.切换到src目录 cd /usr/local/src/ 2. 下载mysql免编译二进制包 免编译的mysql二进制包5.6源码包: wget http://mirrors.163.com/mys ...

  2. linux centos 7 下安装ElasticSearch5.4

    一. 把elasticsearch-5.4.0.rpm和kibana-5.4.0-x86_64.rpm上传到centos下/root目录中,如下图:二.进入centos目录/root,并用命令rpm ...

  3. 线程池(Linux实现)

    讨论QQ群:135202158 本文技术参考了sourceforge项目c thread pool,链接:http://sourceforge.net/projects/cthpool/ 线程池如上一 ...

  4. ckeditor4.5.11+ckfinder_java2.6.2配置

    http://blog.csdn.net/skyman1942/article/details/52537100 1.环境说明: 日期:2016-09-14 工具:ckeditor_4.5.11+ck ...

  5. mangodb的存储

    mongodb基本命令 mongo #进入mongo命令行show dbs #查看所有数据库 use tutorial #切换到名为tutorial的数据库 show collections #查看数 ...

  6. 49.RocketMQ 双主搭建(本文非EamonSec原创)

    声明:本文非EamonSec原创,copy自网上下载的某个个文件 1.RocketMQ介绍 1.1. 简介 RocketMQ 是一款分布式.队列模型的消息中间件,具有以下特点: 能够保证严格的消息顺序 ...

  7. 索引(Awakening!)

    orz写个索引,方便日后复习和补充. 目前笔记还不是很多,而且写得比较烂,望各位到访的巨佬谅解. 大概可以算作一个归纳总结? ……没链接的还没开始写或者没写完,而且不知道什么时候才能写完(咕咕咕) 一 ...

  8. [转] org.scalatest.FunSuite Scala Examples - Scala FunSuite 测试的例子

    [From]  https://www.programcreek.com/scala/org.scalatest.FunSuite org.scalatest.FunSuite Scala Examp ...

  9. Zynq-7000 FreeRTOS(一)系统移植配置

    软件版本:VIvado HLx 2018.2 从FreeRTOS的官网中下载源代码: https://www.freertos.org/a00104.html 图:FreeRTOS的官网 上图中,点击 ...

  10. 基于.Net平台C#的微信网页版API

    git上有很多类似的项目,但大多都是python和js的,为了便于.Net windows平台的使用,我重构了一个.Net版本的,已整理开源 https://github.com/leestar54/ ...