QuartZ输出日志级别设置
集成Quartz.NET后,使用数据库模式,控制台会输出很多日志信息,可以看到输出很多Quartz的DBG级别的日志

因为使用了Serilog,因此需要在appsetting.json中配置log节点
一、配置appsetting.json
任何一个都可以:
1) 配置Quartz所有的日志输出级别 (推荐)
JavaScript 全选
{
	"log": {
		"overrides": [
			{
				"source": "Quartz",
				"minlevel": "Warning"
			}
		]
	}
}2) 按照类别配置日志级别
C# 全选
{
	"log": {
		"overrides": [
			{
				"source": "Quartz.SQL",
				"minlevel": "Warning"
			},
			{
				"source": "Quartz.Impl.AdoJobStore.ClusterManager",
				"minlevel": "Warning"
			},
			{
				"source": "Quartz.Core.QuartzSchedulerThread",
				"minlevel": "Warning"
			}
		]
	}
}
二、重写日志类
添加日志提供类:
C# 全选
    public class ConsoleLogProvider : ILogProvider
    {
        public Logger GetLogger(string name)
        {
            return (level, func, exception, parameters) =>
            {
                if (level >= Quartz.Logging.LogLevel.Info && func != null)
                {
                    Console.WriteLine("[" + DateTime.Now.ToLongTimeString() + "] [" + level + "] " + func(), parameters);
                }
                return true;
            };
        }
        public IDisposable OpenMappedContext(string key, object value, bool destructure = false)
        {
            throw new NotImplementedException();
        }
        public IDisposable OpenNestedContext(string message)
        {
            throw new NotImplementedException();
        }
    }设置Quartz日志
C# 全选
LogProvider.SetCurrentLogProvider(new ConsoleLogProvider());效果
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YESWEB 张国生  
