停止 log4net 日志记录进程并删除日志文件锁定

发布于 2024-11-27 18:05:09 字数 417 浏览 1 评论 0原文

我正在开发一个 Windows 服务应用程序,该应用程序应该在特定时间运行计划的作业。每个作业执行周期都使用 log4net 进行记录,并且每次执行都有自己的文件(5 个作业每天运行 5 天,将创建 25 个日志文件)。

问题是,如何停止 log4net 日志文件锁定,以便在作业完成执行后我可以通过电子邮件发送日志文件并将其从硬盘驱动器中删除?

我需要以编程方式执行此操作,因此配置文件设置在这种情况下不起作用。

到目前为止我已经尝试过了,但它不起作用:

    logger.Logger.Repository.LevelMap.Clear();
    logger.Logger.Repository.LevelMap.Add(logger.Logger.Repository.LevelMap["OFF"]);

I am working on a windows service application that is supposed to run jobs scheduled at specific times. Each job execution cycle is logged using log4net and has its own file per execution(With 5 jobs running for 5 days once a day there will be 25 log files created).

The question is, how do I stop the log4net log file lock so that once the job has finished execution I can email the log file and delete it from the hard drive?

I need to do this programatically, so the config file setting would not work in this case.

I have tried this so far, but it doesn't work:

    logger.Logger.Repository.LevelMap.Clear();
    logger.Logger.Repository.LevelMap.Add(logger.Logger.Repository.LevelMap["OFF"]);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

溺ぐ爱和你が 2024-12-04 18:05:09

如果您使用的是 FileAppender,则可以将 LockingModel 设置为 MinimalLock:

Dim fileAppenderTrace As New log4net.Appender.RollingFileAppender
fileAppenderTrace.ImmediateFlush = True
fileAppenderTrace.LockingModel = New FileAppender.MinimalLock()
fileAppenderTrace.ActivateOptions()

它将在写入每个日志条目后释放文件,而不是在作业完成后释放文件,所以我不确定这是否完全是您想要的为了。

If you're using a FileAppender, you can set the LockingModel to MinimalLock:

Dim fileAppenderTrace As New log4net.Appender.RollingFileAppender
fileAppenderTrace.ImmediateFlush = True
fileAppenderTrace.LockingModel = New FileAppender.MinimalLock()
fileAppenderTrace.ActivateOptions()

It'll release the file after each log entry is written, not after the job is done, so I'm not sure if that's entirely what you're looking for.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文