摘要
log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。
正文
最常用的日志记录需求
- 日志文件保存到项目启动目录下的logs文件夹
- 以天为单位进行日志文件的保存
通过NuGet直接搜索log4net进行安装
项目下右键新建log4net.config文件
设置总是copy
log4net.config文件
输出的日志消息
%n(newline) //换行
%d(datetime) //输出当前语句运行的时刻
%r(runtime) //输出程序执行到当前消耗的毫秒数
%t(threadid) //当前语句所在的线程ID
%p(priority) //日志的当前日志级别
%c(class) //当前日志对象的名称
%L //输出语句所在的行号
%F //输出语句所在的文件名
%-10 //最小长度为10,不够空格填充
LogHelper类
///
/// Log4Net日志记录类
///
public class LogHelper
{
private static readonly ILog Log;
static LogHelper()
{
XmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "Log4net.config"));
Log = LogManager.GetLogger(typeof(LogHelper));
}
///
/// 记录调试信息
///
/// 信息
public static void Debug(object message)
{
Log.Debug(message);
}
///
/// 记录警告信息
///
/// 信息
public static void Warn(object message)
{
Log.Warn(message);
}
///
/// 记录错误信息
///
/// 信息
public static void Error(object message)
{
Log.Error(message);
}
///
/// 记录重要提示信息
///
/// 信息
public static void Info(object message)
{
Log.Info(message);
}
///
/// 记录信息和异常信息
///
/// 错误信息
/// 异常对象
public static void Debug(object message, Exception ex)
{
Log.Debug(message, ex);
}
///
/// 记录信息和异常信息
///
/// 错误信息
/// 异常对象
public static void Warn(object message, Exception ex)
{
Log.Warn(message, ex);
}
///
/// 记录信息和异常信息
///
/// 错误信息
/// 异常对象
public static void Error(object message, Exception ex)
{
Log.Error(message, ex);
}
///
/// 记录信息和异常信息
///
/// 错误信息
/// 异常对象
public static void Info(object message, Exception ex)
{
Log.Info(message, ex);
}
}
保存到数据表
修改配制文件
在.net6环境下需要nuget安装System.Data.SqlClient