加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

使用log4net和ASP.NET跟踪会话变量

发布时间:2020-12-15 19:54:41 所属栏目:asp.Net 来源:网络整理
导读:我们的Web应用程序捕获用户的登录信息并将其存储在会话变量中,类似于Session(“User_Id”).我想使用log4net来捕获日志中的用户. 我看到一些使用MDC(Mapped Diagnostic Context)的引用已经被ThreadContext属性所取代. 有没有人实现这个ThreadContext方法?有
我们的Web应用程序捕获用户的登录信息并将其存储在会话变量中,类似于Session(“User_Id”).我想使用log4net来捕获日志中的用户.

我看到一些使用MDC(Mapped Diagnostic Context)的引用已经被ThreadContext属性所取代.

有没有人实现这个ThreadContext方法?有什么建议?

解决方法

在代码中……
log4net.ThreadContext.Properties["Log_User"] = userName;

在web.config中

<appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">
  <bufferSize value="1" />
  <connectionType value="System.Data.SqlClient.SqlConnection,System.Data,Version=1.0.3300.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" />
  <connectionString value="set in global.asax" />
  <commandText value="INSERT INTO Log4Net ([Log_Date],[Severity],[Application],[Message],[Source],[Log_User]) VALUES (@log_date,@severity,@application,@message,@source,@currentUser)" />
  <parameter>
    <parameterName value="@log_date" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.RawTimeStampLayout" />
  </parameter>
    ...
  <parameter>
    <parameterName value="@currentUser" />
    <dbType value="String" />
    <size value="100" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{Log_User}" />
    </layout>
  </parameter>
</appender>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读