社区
C#
帖子详情
Log4Net 日志文件关闭的问题
CreekHe
2008-06-15 11:50:46
用C#开发了一个Windows服务程序,其中服务程序使用了Log4NET记录日志,如果服务程序停止后,再打开会提示错误“本地计算机上的CDMSServer服务启动后又停止了。。”,只有删除Log4NET的日志文件,或者过5分钟后再启动服务程序就可以正常启动了,我想应该是Log4NET的日志文件在服务停止后没有自动关闭引起的,请问有什么办法在停止服务的时候关闭Log4NET的日志文件?
...全文
888
8
打赏
收藏
Log4Net 日志文件关闭的问题
用C#开发了一个Windows服务程序,其中服务程序使用了Log4NET记录日志,如果服务程序停止后,再打开会提示错误“本地计算机上的CDMSServer服务启动后又停止了。。”,只有删除Log4NET的日志文件,或者过5分钟后再启动服务程序就可以正常启动了,我想应该是Log4NET的日志文件在服务停止后没有自动关闭引起的,请问有什么办法在停止服务的时候关闭Log4NET的日志文件?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nanwang314
2010-12-15
打赏
举报
回复
[Quote=引用 7 楼 hfhf 的回复:]
ILog log = log4net.LogManager.GetLogger(typeof(StockFactorRanking));
log.Info("messaGe");
log.Logger.Repository.Shutdown();
//上面这句就能释放控制。
[/Quote]
正解。。。。。。。
hfhf
2010-06-18
打赏
举报
回复
ILog log = log4net.LogManager.GetLogger(typeof(StockFactorRanking));
log.Info("messaGe");
log.Logger.Repository.Shutdown();
//上面这句就能释放控制。
skyaspnet
2010-01-31
打赏
举报
回复
学习
快乐乔巴
2009-11-27
打赏
举报
回复
以前我也遇到过这个问题 无法修改log文件
一般log4net的初始化都是在Global.asax的Application_Start里开始的
我为了测试 每次在Global.asax中修改代码或者直接什么也不修改 直接Ctrl+S保存一下
log文件进程就自动释放了
当然不紧紧是log文件 Global.asax中定义的静态变量都会被初始化
大家可以用我方法试验一下
Taiyangchen
2009-11-27
打赏
举报
回复
用线程试试呢
gavinluo
2009-11-27
打赏
举报
回复
我也遇到了相同问题,在程序启动后,这个日志文件不能被修改,删除操作。不知道如何解决。因为我程序中会有另外的一个操作删除这个日志文件。正在研究资料中。。。。。
lincnl
2008-10-06
打赏
举报
回复
和其他同事讨论了一下这个问题,基本上认为是应用程序在关闭后,log进程仍持有对文件的操作,在web应用程序中将IIS关闭(注意:如果是XP系统的IIS5.1要关闭inetinfo.exe进程)后可以释放对log文件的持有操作,可以删除文件。Windows服务程序可以试试手动关闭进程后看看是否还有你所说的问题
lincnl
2008-10-06
打赏
举报
回复
我写的是WEB应用,用log4net生成的日志文件不允许我删除,报“文件正在被另一个人或程序使用,关闭任何可能使用这个文件的程序,重新试一次”,我把IIS停了都没戏,应该是有进程没有关闭。如果在开发调试期可以重新生成应用,可发布的版本就完了。哪位大虾有好的方法,请指教!!
C#下
log4net
日志
记录使用实例完整教程
C#下
log4net
日志
记录使用实例完整教程1
log4net
1.1
log4net
简介1.2
log4net
源码下载1.3
log4net
源码编译1.3.1 编译工具1.3.2 编译步骤1.3.2.1 解压
log4net
源码apache-
log4net
-source-2.0.10.zip1.3.2.2 找到
文件
“……\
log4net
解压目录\src\
log4net
.sln”1.3.2.3 Visual Studio运行“
log4net
.sln”1.3.2.4 Visual Studio中设置工程等细节2
Log4Net
日志
详解
一.
Log4Net
简介
Log4net
是从Java中的Log4j迁移过来的一个.Net版的开源
日志
框架,它的功能很强大,可以将
日志
分为不同的等级,以不同的格式输出到不同的存储介质中,比如:数据库、txt
文件
、内存缓冲区、邮件、控制台、ANSI终端、远程接收端等等,我们这里主要介绍最常用的两种:txt
文件
和数据库。 (PS:其它的存储介质详见 http://logging.apache.org/
log4net
/release/config-examples.html)
Log4net
将
日志
分为
Unity中使用
log4net
日志
输出
集成Unity
日志
输出可以分为两个部分 一、下载
log4net
和Unity的配置 下载
log4net
dll至Assets目录下的References
文件
夹中,如下图: Unity中File->Build Settings->PlayerSettings->Player中的设置,Api Compatibility Level 设置为.NET 4.x如下图: 二、集成
log4net
的代码及
log4net
配置
文件
log4net
配置
文件
名为:
log4net
.config。
文件
内容
解决
log4net
独占
日志
文件
的
问题
以及
log4net
的各种输出配置(Appender)
由于
log4net
默认情况下会独占
日志
文件
,该
文件
不能被File.Open。可以通过增加配置:lockingModel type="
log4net
.Appender.FileAppender+MinimalLock" />来使用最小锁定模型(minimal locking model),以允许多个进程可以写入同一个
文件
。各种appender说明:在
log4net
的配置中,appender
C#
log4net
不输出
日志
1、概述
log4net
是.Net下一个非常优秀的开源
日志
记录组件。
log4net
记录
日志
的功能非常强大。它可以将
日志
分不同的等级, 以不同的格式,输出到不同的媒介。本文主要是介绍如何在Visual Studio2008中使用
log4net
快速创建系统
日志
,如何扩展以输出自定义字段。 2、一个简单的使用实例 第一步:在项目中添加对
log4net
.dll的引用,这里引用版本是1.2.1
C#
111,093
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章