【问题标题】:log4net adonetappender variable is nulllog4net adonetappender 变量为空
【发布时间】:2015-11-22 06:39:49
【问题描述】:

在谷歌上搜索了这个似乎永远存在的东西之后,我求助于在这里提出这个问题。

我已向 log4net adonetappender 添加了一个自定义字段和变量。然而,在重新设计它并尝试了在谷歌前 4 页中找到的几乎所有建议之后,该变量仍然为空。

有什么想法为什么会发生这种情况以及有什么帮助建议吗?

输出

RowId   Username    DateOfActivity  Thread  Level   Logger  Message Exception
16  (null)  2015-08-27 18:53:40.607 124732  DEBUG   LogToDatabaseTest.Form1 Retrieving info for ID

App.Config

<parameter>
<parameterName value="@username"/>
<dbType value="String" />
<size value="100" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{username}"/>
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@log_date"/>
    <dbType value="DateTime"/>
    <layout type="log4net.Layout.RawTimeStampLayout"/>
  </parameter>
  <parameter>
    <parameterName value="@thread"/>
    <dbType value="String"/>
    <size value="255"/>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%thread"/>
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@log_level"/>
    <dbType value="String"/>
    <size value="50"/>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%level"/>
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@logger"/>
    <dbType value="String"/>
    <size value="255"/>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%logger"/>
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@message"/>
    <dbType value="String"/>
    <size value="4000"/>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%message"/>
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@exception"/>
    <dbType value="String"/>
    <size value="4000"/>
    <layout type="log4net.Layout.ExceptionLayout"/>
  </parameter>

设置变量的C#代码

private void simpleButton1_Click(object sender, EventArgs e)
{
ThreadContext.Properties["username"] = SystemInformation.UserName;

log4net.Config.XmlConfigurator.Configure();//(Watch = false)


try
{
    long_ID = Int64.Parse(textEdit1.Text);
}

catch (FormatException fe)
{
    XtraMessageBox.Show("ID inputted is not a number! Please enter a valid ID", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);

    log.Error(String.Format("Retrieving Info for ID: {0}", textEdit1.Text), fe);

    return;
}
}

【问题讨论】:

    标签: variables stored-procedures logging log4net adonetappender


    【解决方案1】:

    上面的工作正常,这是我的编程逻辑中的一个错误。命中记录的事件时未设置变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-11
      • 2017-02-19
      • 1970-01-01
      • 2023-03-23
      • 2019-11-11
      相关资源
      最近更新 更多