zoukankan
html css js c++ java
如何在 Windows 服务中正确使用 log4net
前几天写了一个 Windows 服务程序,其中使用 log4net 却总是失败。
不论 log4net 的配置写在 app.config 里,还是独立的 config 文件里,都是一样。
今天终于发现原来是在服务里不能正确定位到这个配置文件所致。
于是经过尝试之后,发现关键在于如下代码中获取当前 exe 所在目录并用于得到 config 文件的路径。按这个写法就可以正确输出日志了:
public
class
Service1 : ServiceBase
{
//
进程的主入口点
private
static
void
Main()
{
string
assemblyFilePath
=
Assembly.GetExecutingAssembly().Location;
string
assemblyDirPath
=
Path.GetDirectoryName(assemblyFilePath);
string
configFilePath
=
assemblyDirPath
+
"
\\log4net.config
"
;
DOMConfigurator.ConfigureAndWatch(
new
FileInfo(configFilePath));
ServiceBase[] ServicesToRun;
ServicesToRun
=
new
ServiceBase[]
{
new
Service1()}
;
ServiceBase.Run(ServicesToRun);
}
//
其他略
}
其他的不多写了,附带我的 log4net.config:
<?
xml version="1.0" encoding="utf-8"
?>
<
log4net
>
<
appender
name
="RollingLogFileAppender"
type
="log4net.Appender.RollingFileAppender"
>
<
file
value
="Logs/log.txt"
/>
<
appendToFile
value
="true"
/>
<
rollingStyle
value
="Size"
/>
<
maxSizeRollBackups
value
="10"
/>
<
maximumFileSize
value
="100KB"
/>
<
staticLogFileName
value
="true"
/>
<
layout
type
="log4net.Layout.PatternLayout"
>
<
conversionPattern
value
="%d [%t] %-5p %c [%x] -%m%n"
/>
</
layout
>
</
appender
>
<
root
>
<
level
value
="ALL"
/>
<
appender-ref
ref
="RollingLogFileAppender"
/>
</
root
>
</
log4net
>
查看全文
相关阅读:
51nod 1113 矩阵快速幂 如题目
poj Raising Modulo Numbers 快速幂模板(取膜)
bzoj 1503: [NOI2004]郁闷的出纳员 平衡树
codevs 1063 合并果子 优先队列相关
bzoj 3224: Tyvj 1728 普通平衡树 Treap模版
快排模板
hdu 4353 统计点在三角形内的个数
hdu 3264 圆的交+二分
hdu 3685 多边形重心+凸包
hdu 3992 AC自动机上的高斯消元求期望
原文地址:https://www.cnblogs.com/RChen/p/217832.html
最新文章
根据经纬度计算地图的像素值
用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档
如何在Visual Studio中选择C++和C#的编译器版本
'用Roslynpad做一个轻量级的C#编辑器'
软件架构师要做出的重要决定是什么?
用BenchmarkDotNet给C#程序做性能测试
JavaScript 图片上传预览效果
ASP.NET中的Excel操作(NPOI方式)
ASP.NET中的Excel操作(OLEDB方式)
ASP.NET发送邮件
热门文章
ASP.NETwindows身份验证详细步骤-域验证登录
SEO优化技巧总结
洛谷 1197 [JSOI2008]星球大战
洛谷 1967 货车运输
洛谷 1613 跑路
洛谷 2540 斗地主增强版
poj 2823 Sliding Window 单调队列
hdu 1248 寒冰王座 完全背包
hdu USACO ORZ 剪枝+暴力判重
codevs 4927 线段树练习5 线段树基本操作模板
Copyright © 2011-2022 走看看