交流QQ群:555913397
有什么问题可以加群大家一起交流
1.创建日志类
1.1 需要在Nuget添加Nlog
using System;
using NLog;
namespace CoreMvc.Utinity.Helper
{
public class LoggerHelper
{
///
/// Fatal日志
///
/// 日志信息
/// 写日志方法类别
/// 参数
public static void LogFatal(string message, string methodType = "", params object[] args)
{
LogFatal(message, null, methodType, args);
}
///
/// Critical日志
///
/// 日志信息
/// 报错信息
/// 写日志方法类别
/// 参数
public static void LogFatal(string message, Exception exception, string methodType = "", params object[] args)
{
LogManager.GetLogger(methodType).Fatal(exception, message, args);
}
///
/// Debug日志
///
/// 日志信息
/// 写日志方法类别
/// 参数
public static void LogDebug(string message, string methodType = "", params object[] args)
{
LogDebug(message, null, methodType, args);
}
///
/// Debug日志
///
/// 日志信息
/// 报错信息
/// 写日志方法类别
/// 参数
public static void LogDebug(string message, Exception exception, string methodType = "", params object[] args)
{
LogManager.GetLogger(methodType).Debug(exception, message, args);
}
///
/// Error日志
///
/// 日志信息
/// 写日志方法类别
/// 参数
public static void LogError(string message, string methodType = "", params object[] args)
{
LogError(message, null, methodType, args);
}
///
/// Error日志
///
/// 日志信息
/// 报错信息
/// 写日志方法类别
/// 参数
public static void LogError(string message, Exception exception, string methodType = "", params object[] args)
{
LogManager.GetLogger(methodType).Error(exception, message, args);
}
///
/// Information日志
///
/// 日志信息
/// 写日志方法类别
/// 参数
public static void LogInformation(string message, string methodType = "", params object[] args)
{
LogInformation(message, null, methodType, args);
}
///
/// Information日志
///
/// 日志信息
/// 报错信息
/// 写日志方法类别
/// 参数
public static void LogInformation(string message, Exception exception, string methodType = "", params object[] args)
{
LogManager.GetLogger(methodType).Info(exception, message, args);
}
///
/// Trace日志
///
/// 日志信息
/// 写日志方法类别
/// 参数
public static void LogTrace(string message, string methodType = "", params object[] args)
{
LogTrace(message, null, methodType, args);
}
///
/// Trace日志
///
/// 日志信息
/// 报错信息
/// 写日志方法类别
/// 参数
public static void LogTrace(string message, Exception exception, string methodType = "", params object[] args)
{
LogManager.GetLogger(methodType).Trace(exception, message, args);
}
///
/// Warning日志
///
/// 日志信息
/// 写日志方法类别
/// 参数
public static void LogWarning(string message, string methodType = "", params object[] args)
{
LogWarning(message, null, methodType, args);
}
///
/// Warning日志
///
/// 日志信息
/// 报错信息
/// 写日志方法类别
/// 参数
public static void LogWarning(string message, Exception exception, string methodType = "", params object[] args)
{
LogManager.GetLogger(methodType).Warn(exception, message, args);
}
}
}
2.测试调用日志
using Castle.DynamicProxy;
using CoreMvc.Utinity.Helper;
namespace CoreMvc.Utinity.IOC.AopExtension
{
public class AutofacAopExtension : IInterceptor
{
public void Intercept(IInvocation invocation)
{
LoggerHelper.LogDebug("执行前", $"{invocation.TargetType}.{invocation.Method.Name}");
invocation.Proceed();
LoggerHelper.LogDebug("执行后", $"{invocation.TargetType}.{invocation.Method.Name}");
}
}
}
3.日志打印结果
2020-03-10 09:37:06.5125||DEBUG|CoreMvc.Program|init main |url: |action:
2020-03-10 09:37:09.1012||DEBUG|CoreMvc.Service.PeopleAppService.Show|执行前 |url: http://localhost/|action: Index
2020-03-10 09:37:09.1098||DEBUG|CoreMvc.Service.PeopleAppService|People |url: http://localhost/|action: Index
2020-03-10 09:37:09.1098||DEBUG|CoreMvc.Service.PeopleAppService.Show|执行后 |url: http://localhost/|action: Index
2020-03-10 09:37:09.1098||DEBUG|CoreMvc.Service.CompanyAppService.Show|执行前 |url: http://localhost/|action: Index
2020-03-10 09:37:09.1098||DEBUG|CoreMvc.Service.CompanyAppService.Show|执行后 |url: http://localhost/|action: Index
4.autofac\aop\nlog配置教程
.net core 3.1 添加 Nlog日志
.net core 3.1 扩展 Autofac AOP
.net core 3.1添加Autofac容器详解