如何使用 Log4Net 在日志文件中获取当前用户名而不是 AppPool 身份

2024-03-21

我们在 ASP.NET MVC3 应用程序中使用 Log4Net,一切正常,但我们希望在日志文件中看到当前用户名而不是应用程序池的标识,这是我们正在使用的附加程序配置:

<log4net>
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
      <threshold value="ALL" />
      <immediateFlush>true</immediateFlush>
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <encoding value="utf-8" />
      <file value="C:\Logs\MyLogs.log" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <maxSizeRollBackups value="30" />
      <maximumFileSize value="25MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%property{log4net:HostName}] - %username%newline%utcdate - %-5level - %message%newline" />
      </layout>
    </appender>
    <root>
      <priority value="ALL" />
      <appender-ref ref="FileAppender" />
    </root>
</log4net>

所以看起来像这个属性:%username正在检索以下值:

WindowsIdentity.GetCurrent().Name

而不是我们需要的:HttpContext.Current.User

知道如何在 web.config 中轻松解决此问题,而无需创建自定义属性或其他 log4net 派生类吗?如果可能的话,否则如果自定义属性是我们可以忍受的唯一方式,我想:)谢谢!


更换%username by %identity应该这样做。它在我当前的项目中为我工作。

您可以通过以下方式了解有关 log4net 的更多信息this http://www.codeproject.com/Articles/140911/log4net-Tutorial优秀的教程

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Log4Net 在日志文件中获取当前用户名而不是 AppPool 身份 的相关文章

随机推荐

  • 如何从 WMI 获取方法

    tl dr我应该怎么SELECT代替 为了获得方法 更多信息 这是一个例子 using var s new ManagementObjectSearcher root CIMV2 SELECT FROM someClass foreach
  • 如何在Python中使用open函数创建文件?

    在Linux环境中 我想创建一个文件并向其中写入文本 HTMLFILE MYUSER OUTPUT myfolder mytext html f open HTMLFILE w IOError Errno 2 No such file or
  • 如何求矩阵的对角线元素?

    我编写了一个函数来将矩阵的对角线元素存储到向量中 但输出并不如我预期 代码是 diagonal lt function x for i in nrow x for j in ncol x if i j a lt x i j print a
  • pandas 枢轴更改 dtype

    使用 pandas hub table 创建新数据框后 数据类型从 int32 更改为 float 原始数据框 df pd DataFrame from dict my dict orient columns dtype i4 print
  • 当 WooCommerce 中所选变体缺货时显示表单

    在 WooCommerce 中联系表格 7 插件 https wordpress org plugins contact form 7 我使用以下代码在单个产品页面上向我的缺货简单产品添加了一个表单 add action woocommer
  • Java多重继承

    为了完全理解如何解决 Java 的多重继承问题 我有一个需要澄清的经典问题 假设我有课Animal这有子类Bird and Horse我需要上课Pegasus延伸自Bird and Horse since Pegasus既是鸟又是马 我认为
  • 将应用程序从 iPhone 5 设备转换为 iPhone 4 设备

    如何使ios应用程序与iphone4设备 即3 5英寸 兼容 它已经内置在iphone 5 4 0英寸屏幕 中 而无需创建不同的xib 使用自动布局允许您的应用程序正确调整大小到正确的屏幕尺寸 Raywenderlich com 有一个很好
  • 使用 xml 和可重用的 xslt 动态生成 HTML 表单

    我有大量的 xml 文件 First
  • 支持哪些 git url 格式?

    Git 接受许多不同的 url 格式 例如 ssh http https 等 是否有任何规范 官方文档可以在其中找到受支持的 git url 格式 我写了一个git url 解析器 https github com IonicaBizau
  • 在 R 和 RStudio 中读取 URL

    当我在 RStudio 中输入以下内容时 它工作正常 nyt1 lt read csv url http stat columbia edu rachel datasets nyt1 csv 但是当我在 R 控制台中输入相同的内容时 我收到
  • 如何在 C 中使用和不使用 sprintf 将十六进制转换为 Ascii?

    I used strtol要将字符串转换为十六进制 现在我需要将其打印到屏幕上 我不确定是否可以使用sprintf因为我在这块板上只有 20k 内存可以使用 欢迎替代方案 要手动执行此操作 最简单的方法是使用一个将 nybbles 映射到
  • 如何在 Python 中连接两个列表而不修改其中任何一个? [复制]

    这个问题在这里已经有答案了 在Python中 我能找到连接两个列表的唯一方法是list extend 这会修改第一个列表 是否有任何串联函数可以返回其结果而不修改其参数 Yes list1 list2 这给出了一个新列表 它是以下内容的串联
  • Apache Flink、JDBC 和 fat jar 是否存在类加载问题?

    使用 Apache Flink 1 8 并尝试运行RichAsyncFunction 我得到No Suitable Driver Found初始化 Hikari 池时出错RichAsyncFunction open 在 IDE 中它运行得很
  • 具有 的组件

    我见过工作示例
  • 指定网格中的默认排序

    使用knockout kendo绑定绑定Telerik Kendo网格时是否可以指定默认排序 我像这样绑定网格 kendoGrid data grid Rows sortable allowUnsort false mode single
  • 删除观察者不工作

    我有下一个代码 implementation SplashViewVC void viewDidLoad super viewDidLoad self splashView backgroundColor UIColor colorWith
  • HTTPS + gzip:如果我只 gzip 非敏感文件,是否存在安全漏洞?

    据我了解 如果我将 gzipping 与 SSL HTTPS 一起使用 它会带来安全漏洞 违规 犯罪 如果我只在 CSS 和 JS 文件上使用它 如果这些文件通过 HTTPS 从我的服务器上提供 这仍然是一个安全漏洞吗 据我了解 答案是否定
  • 将字节数组转换为字符串

    我的Scala代码从字节流接收到一个二进制文件 它看起来像 61 62 63 64 内容是 abcd 我使用toString将其转换为p 但失败了 如何将其打印为字符串 如果您知道字节数组的字符集 则始终可以将其转换为字符串 val str
  • Android 上片段的立方体翻转动画

    我想实现一个基本的 3d 立方体 并在 Touch 上水平或垂直旋转 90 度 我想要实现的是类似于下图所示的内容 我已经实现了这个使用ViewPager s ViewTransformer但我对结果并不满意 动画不是很流畅 而且我无法翻转
  • 如何使用 Log4Net 在日志文件中获取当前用户名而不是 AppPool 身份

    我们在 ASP NET MVC3 应用程序中使用 Log4Net 一切正常 但我们希望在日志文件中看到当前用户名而不是应用程序池的标识 这是我们正在使用的附加程序配置