2016-02-23 7 views
-1

Я использую метод log4net.Info, как показано ниже,Log4Net удалить первые 5 символов при входе

public static void Audit(this ILog logger, string name, string field) 
     { 
      GlobalContext.Properties["Name"] = name; 
      logger.Info(string.Format(CultureInfo.InvariantCulture, @"AUDIT: {0}", field)); 
     } 

И у меня есть конфигурация log4net есть

<appender name="DatabaseAuditLogAppender" 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="Data Source=localt;Initial Catalog=TestDB;Integrated Security=True;MultipleActiveResultSets=True" /> 
     <commandText value="INSERT INTO [dbo].[__AuditLog] 
        ([CreateOnDateTime],[CreateByUserId],[Name],[Field]) 
        VALUES (@logdate, @CreateByUserId, @Name, @Field)" /> 
     <parameter> 
     <parameterName value="@logdate" /> 
     <dbType value="DateTime2" /> 
     <size value="-1" /> 
     <layout type="log4net.Layout.RawTimeStampLayout" /> 
     </parameter> 
     <parameter> 
     <parameterName value="@CreateByUserId" /> 
     <dbType value="String" /> 
     <size value="4000" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%property{CreateByUserId}" /> 
     </layout> 
     </parameter> 
     <parameter> 
     <parameterName value="@Name" /> 
     <dbType value="String" /> 
     <size value="4000" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%property{Name}" /> 
     </layout> 
     </parameter> 
     <parameter> 
     <parameterName value="@Field" /> 
     <dbType value="String" /> 
     <size value="4000" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%message" /> 
     </layout> 
     </parameter> 
     <threshold value="INFO" /> 
     <filter type="log4net.Filter.StringMatchFilter"> 
     <stringToMatch value="AUDIT:" /> 
     </filter> 
     <filter type="log4net.Filter.DenyAllFilter" /> 
    </appender> 

Вот когда я пишу журналы, пишет например,

Audit: Some messages 

Я просто хочу удалить текст «Аудит:» из сообщения, пожалуйста, помогите мне.

+0

Изменение второй строки в файл 'метода Audit' к' logger.info (string.Format (CultureInfo.InvariantCulture, @ "{0}", поле)); ' –

+0

Hi PasioniaX, Спасибо за ваш ответ. Я вставляю информацию аудита в другую таблицу, когда сообщение начинается с «Аудит:». Посмотрите конфигурацию. – Karthikeyan

ответ

0

Изменить метод протоколирования:

public static void Audit(this ILog logger, string name, string field) 
    { 
     GlobalContext.Properties["Name"] = name; 
     logger.Info(string.Format(CultureInfo.InvariantCulture, @"{0}", field)); 
    } 

(Убрано AUDIT: часть из вашей строки)

Смежные вопросы