如何使用 log4net 记录到通用应用程序数据 (appdata) 中的文件?

发布于 2024-08-08 03:29:52 字数 285 浏览 3 评论 0原文

我似乎找不到关于如何登录到 appdata 中的文件的明确答案/示例

C:\Documents and Settings\All Users\Application Data\CompanyName\ApplicationName\Logs\app.log

我不想对 app.config 中的路径进行“硬编码”,而宁愿使用 <代码>Environment.SpecialFolder.CommonApplicationData

I can't seem to find a definitive answer/example on how I can log to a file in appdata

C:\Documents and Settings\All Users\Application Data\CompanyName\ApplicationName\Logs\app.log

I don't want to "hardcode" the path in the app.config and would rather use Environment.SpecialFolder.CommonApplicationData

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

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

发布评论

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

评论(2

两仪 2024-08-15 03:29:52

是的,看看我的答案对于这个问题。它详细解释了如何在 log4net 配置中配置此路径设置。

Yes, take a look at my answer to this question. It explains in detail how to configure this path setup in log4net configuration.

猫七 2024-08-15 03:29:52

单程:

log4net.Repository.Hierarchy.Hierarchy hierarchy = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository(); 
var appenders = hierarchy.GetAppenders();
  foreach (var appender in appenders)
  {
    FileAppender fileAppender = appender as FileAppender;
    if (fileAppender != null)
    {
      fileAppender.File = Path.Combine(Environment.SpecialFolder.CommonApplicationData, "myLogFile.log");
      fileAppender.ActivateOptions();
    }
  }

One way:

log4net.Repository.Hierarchy.Hierarchy hierarchy = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository(); 
var appenders = hierarchy.GetAppenders();
  foreach (var appender in appenders)
  {
    FileAppender fileAppender = appender as FileAppender;
    if (fileAppender != null)
    {
      fileAppender.File = Path.Combine(Environment.SpecialFolder.CommonApplicationData, "myLogFile.log");
      fileAppender.ActivateOptions();
    }
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文