【发布时间】:2016-07-25 16:05:40
【问题描述】:
我对 sitecore 日志记录有疑问: 当发生意外错误时,我想返回用户唯一的票证 ID,因此当用户通过电子邮件发送有关此错误的电子邮件时,可以在日志数据库中找到它。
我已将 activity_id 参数添加到 SQL appender:
<param name="Parameter">
<param name="ParameterName" value="@activity_id"/>
<param name="DbType" value="String"/>
<param name="Size" value="400"/>
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%P{activityId}"/>
</param>
</param>
现在,我需要添加 activityId。通常我会这样做:
private void Application_Start()
{
...
HttpContext.Current.Items.Add("activityId", Guid.NewGuid().ToString())
如何在 SiteCore Logging 中执行此操作? 所以我可以使用:
Sitecore.Diagnostics.Log.Error("发生错误", this);
更新: 我在 Global.asax.cs 中添加了以下代码,但 value 仍然是空的。
public class Global : Sitecore.Web.Application
{
protected void Application_Start(object sender, EventArgs e)
{
log4net.MDC.Set("activityId", Guid.NewGuid().ToString("D"));
}
【问题讨论】:
标签: sitecore log4net sitecore7 sitecore8 log4net-configuration