首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Quartz.Net中从Log4Net切换到NLog?

在Quartz.NET中从Log4Net切换到NLog,你需要遵循以下步骤:

  1. 安装NLog NuGet包:

在Visual Studio中,右键单击项目,选择“管理NuGet程序包”,然后搜索并安装NLog。

  1. 配置NLog:

在项目中创建一个名为NLog.config的文件,并添加以下配置:

代码语言:xml
复制

<?xml version="1.0" encoding="utf-8" ?>

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"

代码语言:txt
复制
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
代码语言:txt
复制
 <targets>
代码语言:txt
复制
    <target name="logfile" type="File" fileName="logs/app.log" />
代码语言:txt
复制
  </targets>
代码语言:txt
复制
 <rules>
代码语言:txt
复制
    <logger name="*" minlevel="Debug" writeTo="logfile" />
代码语言:txt
复制
  </rules>

</nlog>

代码语言:txt
复制

这将创建一个名为app.log的日志文件,其中包含所有日志级别的信息。

  1. 更新Quartz.NET配置:

在Quartz.NET的配置文件中,将Log4Net的配置替换为NLog。例如,如果你使用的是XML配置文件,则将以下内容添加到quartz.config文件中:

代码语言:xml
复制

<property name="quartz.scheduler.instanceName" value="QuartzScheduler" />

<property name="quartz.scheduler.instanceId" value="AUTO" />

<property name="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />

<property name="quartz.threadPool.threadCount" value="10" />

<property name="quartz.threadPool.threadPriority" value="Normal" />

<property name="quartz.jobStore.misfireThreshold" value="60000" />

<property name="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz" />

<property name="quartz.plugin.triggHistory.type" value="Quartz.Plugin.History.LoggingJobHistoryPlugin, Quartz" />

<property name="quartz.plugin.triggHistory.jobSuccessMessage" value="Job {1}.{0} executed successfully." />

<property name="quartz.plugin.triggHistory.jobFailedMessage" value="Job {1}.{0} execution failed." />

<property name="quartz.plugin.triggHistory.schedulerContextName" value="QuartzScheduler" />

<property name="quartz.plugin.triggHistory.triggerHistoryStore" value="Quartz.Plugin.History.NLogTriggerHistoryPlugin, Quartz" />

代码语言:txt
复制

这将使用NLog插件替换Log4Net。

  1. 更新代码以使用NLog:

在项目中,删除对Log4Net的引用,并添加对NLog的引用。然后,在需要记录日志的地方,使用NLog记录日志,例如:

代码语言:csharp
复制

using NLog;

private static readonly Logger Logger = LogManager.GetCurrentClassLogger();

// 记录调试信息

Logger.Debug("This is a debug message.");

代码语言:txt
复制

现在,Quartz.NET将使用NLog记录日志,而不是Log4Net。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

.NET常用第三方库(包)总结

文章会不定期更新,以下内容均为个人总结,欢迎各位拍砖指正 序列化与反序列化 JSON.NET 应该是.NET平台上使用最为广泛的序列化/反序列化包了,ASP.NET和ASP.NET Core默认序列化.../反序列化包 Jil 官网上说性能优于JSON.NET 文本日志记录 NLog Log4Net 以上二位都是JAVA阵营移植过来的,对于分布式系统使用文本日志追踪问题也是比较恶心的一件事儿...cs文件 SqlSugar 国产的轻量级ORM框架,支持LINQ操作 StackExchange.Redis Redis客户端,看名字就知道来自StackExchange了 定时任务 Quartz.Net...附上一篇教程这哥们也JAVA阵营移植而来 全文检索 Lucene.Net 不得不说JAVA生态的强大,这又是一款移植自JAVA阵营的优秀框架 ElasticSearch.Net 对Lucene

79420

ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

在 .NET Framework 时代,对于第三方的日志框架的选择,绝大多数童鞋首选的都会是 log4net 这一根据 Log4j 移植的日志框架,不过,由于 log4net 目前已经接近有3年的时间没更新了...Windows 上进行 MongoDB 的安装与配置,如何在 Linux or Docker 中进行安装配置,我将在后面的文章中进行演示。...在 MongoDB 之前的版本,如果我们需要将 MongoDB Server 作为 Windows 服务,需要我们在安装完成之后进行配置,但是 MongoDB 4.0 开始,我们就可以在安装期间直接配置和启动我们的...第一步将默认数据库切换到 admin 数据库,创建一个管理员用户,这里我就将管理员用户的角色设置为 root 用户。...MongoDB 内置的用户角色权限:   read:允许用户读取授权的数据库   readWrite:允许用户读写授权的数据库   dbAdmin:允许用户在授权的数据库执行管理操作,索引创建、删除

1.5K10

Quartz.NET总结(一)Quartz.NET入门

前段时间,花了大量的时间,将原先的计划任务,切换到Quartz.NET来进行管理。...于是乎,一咬牙,决定引入Quartz.NET框架,统一都管理全部的后台定时服务。切换过程确实很麻烦。直到今天,才终于有时间整理总结Quartz.NET的相关内容。   ...Quartz.NET的优点和使用场景,这里不再多说,网上有很多说明,总的来说就是,Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作,定时轮询数据库同步,定时邮件通知,定时处理数据等。...Quartz,源代码下载  第一步:新建解决方案和相关项目,并安装相关程序包,如下图所示:         Quartz依赖Common.Logging和Common.Logging.Log4Net,而且Log4Net...也是比较熟悉的日志工具,因此我们实际使用,也是log4net记录日志,另外定时作业一般都是在window服务,我们也可用Topshelf来创建我们的window服务。

88110

如何快速创建定时任务【Quartz.NET总结系列一】

前段时间,花了大量的时间,将原先的计划任务,切换到Quartz.NET来进行管理。原先的后台定时服务都是通过计划任务来实现的,但是随着业务增长,计划任务也越来越多,每个后台服务,都得创建一个计划任务。...Quartz.NET的优点和使用场景,这里不再多说,网上有很多说明,总的来说就是,Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作,定时轮询数据库同步,定时邮件通知,定时处理数据等。...说明:Quartz依赖Common.Logging和Common.Logging.Log4Net,而且Log4Net也是比较熟悉的日志工具,因此我们实际使用,也是log4net记录日志,另外定时作业一般都是在...window服务,我们也可用Topshelf来创建我们的window服务。...最后 以上,就简单介绍了如何用quartz.net 创建定时任务,后面会完整系统的介绍整个quartz.net框架。

81630

通用日志

而且系统开发状态到运行状态转变时,开发人员插入到软件的调式日志代码不需要删除,只需要提高日志的配置级别,并且最终使得程序员对System.Console.Write的嗜好已成为过去。...二、解决方案    目前有许多日志的实现,像log4net,nlog,logging application block,避免对某一实现的依赖就是通用日志所要做的事情。...使用上来说Spring.NET的日志更为通用。...下面介绍一下Spring.NET的Common.Logging, 你项目中没有使用Castle,Spring.NET也一样可以使用这样的一个通用日志接口,而且很容易就和log4net,nlog,logging...明白了这一点,我们就面临这样的场景:一边有现成的日志系统,log4net,nlog,logging application block;另一边有易用的使用界面。

866100

net 开源「建议收藏」

它结合了美国国家航空航天局(NASA)卫星拍摄的图像,这些图像应用于Blue Marble, Landsat 7, SRTM, MODIS 以及其它更多的地方。...核心是一个平台无关、方便使用的图形组件,可以很方便的集成到.NET/Mono的应用程序。目前Appomattox支持GTK和Windows.Forms。...feature=dxf2shp .NET(DOTNET)开源资源-日志工具(LOG) .NET(DOTNET)开源资源-日志工具(LOG) log4net log4net是一个可以帮助程序员把日志信息输出到各种不同目标的...log4netjava下有卓越表现的log4j移植过来的。它是apache基金资助的项目的一部分。 NLog NLog是C#编写的开源日志类库 ,它的设计思想是使其简单而灵活。...NLog让你处理诊断的日志消息,用相关信息扩充消息,依照你的选择格式化日志消息和把日志消息输出到一个或多个目的地。

78620

专业上的常用的工具和类库集

NuGet Package Manager for Visual Studio 2013: 一组用于自动执行VS项目中安装、升级、配置和删除依赖包的过程的工具。...官方网站: http://www.dotnetopenauth.net Quartz.NET Quartz.NET 是一个.NET 版的任务调度框架。可用于定时处理数据或发邮件等工作。...官方网站: http://www.quartz-scheduler.net NLog NLog是一个简单灵活的.NET日志记录类库。...通过使用NLog,我们可以在任何一种.NET语言中输出带有上下文的(contextual information)调试诊断信息,根据喜好配置其表现样式之后发送到一个或多个输出目标(target)。...相比于log4netNLog的使用难度和维护难度要低很多,而在异步情况下性能要比log4net高很多。日志的记录不应该影响正常业务的执行速度,所以采用异步是非常必要的。

2.7K90

Asp.Net Core NLog 将日志输出到数据库以及添加LayoutRenderer的支持

在这之前打算用Apache的Log4Net,但是发现其AdoNetAppender方法已经不存在了,无法使用配置文件直接输出到数据库了,因此我便改用了NLog框架。...一、对项目添加NLog 通过Nuget安装NLog NLog.Extensions.Logging、NLog.Web.AspNetCore        二、对NLog.config进行配置...database target内可以指定connectionString,Sql语句,Sql参数等          三、添加NLog到 .Net Core        四、执行 public...= CombUtil.NewComb();                 iLog.Info(ei);             }         }      这样便可以将定义的值添加到数据库。... - 定义日志的路由规则 - *.dll加载NLog扩展 - 导入外部配置文件 - 为配置变量赋值

1.3K30

.Net Core 学习之路-基础

env = PlatformServices.Default.Application; IConfiguration Configuration = builder.Build(); 也可以用ioc的注入构造函数获取...(SampleActionFilterAttribute)); }); 过滤器和.net core的中间件似乎很是相似,但是相比之下,过滤器可以处理到更细节的地方,相比中间件更加灵活 日志 之前一直用Log4net...来记录日志,.net core2.0默认提供的日志记录方式并不能满足生产环境的要求,所以研究了下log4net在.net core的用法: 引用最新版的nuget包 增加配置文件log4net.config...: Nlog在.net core的详细使用说明可参考官网:https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-...2 我这里就直接贴代码了: 首先需要引用最新的nuget包:NLog.Web.AspNetCore NLog.Extensions.Logging 配置文件nlog.config: <?

1K40

.NET 使用NLog增强日志输出

因此一款好的日志组件将至关重要,在.NET 的开源生态,目前主要有Serilog、Log4NetNLog三款优秀的日志组件,但相较而言,NLog功能更加强大且扩展性强,允许开发者在仅修改配置文件的方式来丰富日志输出内容...NLog 日志组件的使用 那在实际使用如何集成呢?接下来以ASP.NET Core 应用为例进行详细讲解。...(args); // Add services to the container. builder.Services.AddControllersWithViews(); //配置配置文件的`NLog...预置的{processname}字段获取,env字段是通过{environment}指定的环境变量获取,以aspnet-为前缀的字段则是通过NLog.Web.AspNetCore预置的字段获取,因此...,还有很多其他字段,比如从配置文件读取字段,应用读取身份信息,提取请求数据包,读取请求头,截取QueryString的指定字段。

2.7K20

C#超高速高性能写日志 代码开源

2.2、示例图 3、关键代码部分 这里写日志的部分LZ选用了比较常用的log4net,当然也可以选择其他的日志组件,比如nlog等等。..._mre是ManualResetEvent信号,ManualResetEvent是用来通知线程列队中有新的日志,可以列队写入磁盘了。当列队写完日志后,重新设置信号,再等待下次有新的日志到来。...3.2、列队到磁盘 列队到磁盘我们需要有一个线程列队写入磁盘,也就是说我们在程序启动时就要加载这个线程,比如asp.net中就要在global的Application_Start中加载。...列队获取内容,并删除列队的内容 while (_que.Count > 0 && _que.TryDequeue(out msg))...4.2、应用 4.2.1、需要在程序启动时注册,asp.net 程序在Global.asax的Application_Start注册。

24320
领券