gpt4 book ai didi

c# - 如何在 log4net 中以编程方式更改日志文件路径?

转载 作者:太空狗 更新时间:2023-10-29 23:36:23 25 4
gpt4 key购买 nike

我正在使用 %property%在 Log4Net 配置文件中设置输出文件路径。每次应用程序启动时,都会在 APP 数据文件夹中创建一个日志文件。我正在使用 Composite rolling style用于滚动文件。

但现在我的要求是根据应用程序中的某些用户交互滚动/更改文件路径。我怎样才能做到这一点,任何人都可以建议我实现这一点。

  1. 如何在 C# 代码中滚动文件。预期行为类似于基于大小和日期滚动。
  2. 在程序执行之间更改 Log4Net 中的输出文件路径的 c# 代码是什么

如果我的要求不清楚,请告诉我。

谢谢。

最佳答案

你有两个问题:

  1. 我不知道这是否可行。我想滚动到下一个名称在滚动文件附加程序中是私有(private)的。您可以查看 src 以查看是否可以访问它。如果没有,您可以从 RollingFileAppender 继承并添加您自己的实现。您可以通过以下方式在运行时获取附加程序:

代码:

  LogManager.GetRepository().GetAppenders();
  1. 使用属性是正确的方法。您的配置应如下所示:

配置:

 <appender name="YourAppender" type="log4net.Appender.RollingFileAppender"> 
<file type="log4net.Util.PatternString" value="~/App_Data/%property{LogName}" />
</appender>

重要的是 type="log4net.Util.PatternString"。在初始化 log4net 之前设置属性。

log4net.GlobalContext.Properties["LogName"] = name;

关于c# - 如何在 log4net 中以编程方式更改日志文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46681232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com