سؤال

وأستخدمه Log4Net مع AdoNetAppender لتسجيل الرسائل من تطبيق سيستراي بسيطة إلى SQL 2005 ملقم قاعدة البيانات.

وأريد أن تسجيل اسم الجهاز مع الرسالة السجل لأن هذا التطبيق سوف يكون يعمل على آلات متعددة، وأريد أن أعرف على أي واحد نشأت الرسالة.

ولكن، لا أستطيع أن أجد وسيلة لفضح هذه المعلومات عن طريق log4net.Layout.PatternLayout أن أستخدمه مع appender.

هل هناك وسيلة لتسجيل اسم الجهاز عبر log4net بهذه الطريقة؟

هل كانت مفيدة؟

المحلول

ويمكنك استخدام خاصية log4net:HostName بالسكان مسبقا، على سبيل المثال:

<conversionPattern value="%property{log4net:HostName}" />

وهذه الطريقة لا تحتاج لملء MDC.

نصائح أخرى

ويمكنك إنشاء معلمة مشابهة لما يلي:

<parameter>
  <parameterName value="@machine" />
  <dbType value="String" />
  <size value="255" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%X{machine}" />
  </layout>
</parameter>

ثم يضاف هذا الخط قبل الكتابة إلى السجل: MDC.Set("machine", Environment.MachineName);

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top