类库里面添加日志记录 log4net
2024-08-30 13:57:26
第一步:
新建一个公共类库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")));
}
}
附件
最新文章
- Floyd-Warshall 全源最短路径算法
- redis数据结构详解之Hash(四)
- phpcmsv9自定义sql语句查询模型实现
- linux的sysctl基本配置
- JAVA里的异常
- SQL动态列查询
- 高性能滚动 scroll 及页面渲染优化
- Learning Roadmap of Deep Reinforcement Learning
- 安装Golang 1.6及开发环境
- Oracle数据库中如何选择合适的索引类型 .
- mybatis中#{}与${}的区别
- 经常开发出现bug的同事,
- python中函数基础
- MT【200】一道自招的不等式
- dd命令参数解析
- 程序员的冷笑话 python版本
- AndroidManifest.xml警告
- 怎样优化cocos2d/x程序的内存使用和程序大小
- Android Screen Orientation
- hihoCoder hiho一下 第十二周 #1055 : 刷油漆 (树上DP)
热门文章
- mysql遇到的问题:can&#39;t creat/write to file ";/var/mysql/xxxx.MYI";
- Java io流完成复制粘贴功能
- Getting Started with Elastic Search in .NET
- Linux磁盘分区、挂在
- Apache环境修改.htaccess文件实现子目录强制HTTPS访问
- Safari 不能播放Video ,Chrome等可以 问题解决。
- mysql工具——perror(mysql错误代码,查看错误号释义)
- Secondary NameNode究竟是做什么的
- AI简单平移追踪算法
- C# GDI+开发手记