log4net服务启动后没有记录日志

Posted king123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4net服务启动后没有记录日志相关的知识,希望对你有一定的参考价值。

有时候在用log4net的时候,调试或执行是ok的,但是安装服务后没有记录日志。

这是因为服务启动是在C盘启动,而程序放的位置在别的目录。

这时候需要指定读取配置文件的位置为程序所在的目录

string execuFilePath = Assembly.GetExecutingAssembly().Location;
string execuDirPath = Path.GetDirectoryName(execuFilePath);
string log4netconfigFilePath = execuDirPath + "\\log4net.config";

//初始化log4net配置的信息
XmlConfigurator.ConfigureAndWatch(log4net.LogManager.GetRepository(Assembly.GetExecutingAssembly()), new FileInfo(log4netconfigFilePath));

//初始化logger
ILog logger = LogManager.GetLogger(typeof(ServerJobRunning));

 

之后就可以正常使用了。

以上是关于log4net服务启动后没有记录日志的主要内容,如果未能解决你的问题,请参考以下文章

控制台程序转化为windows服务

基于log4net的日志组件扩展分装,实现自动记录交互日志 XYH.Log4Net.Extend

log4net日志系统使用详解

Log4net 在记录几秒钟后将日志路径更改为安装文件夹。这是为啥?

使用log4net将日志文件输出为csv格式

MSSQLSERVER 服务启动后又停止了