Моя конфигурация log4net выглядит так:
<log4net>
<appender name="CloudWatchLogsAppender" type="CloudWatchAppender.CloudWatchLogsAppender, CloudWatchAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger.%method - %message%newline" />
</layout>
<groupName value="agroupname" />
<streamName value="astreamname" />
</appender>
<root>
<level value="INFO" />
<appender-ref ref="CloudWatchLogsAppender" />
</root>
<logger name="Amazon">
<level value="OFF" />
</logger>
</log4net>
В классах я создаю регистратор с помощью
private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
и вызовите Log.Error(сообщение); только один раз, но у меня в логах все ошибки дублируются. Кроме того, этот метод вызывается в классе контроллера для проекта WebApi.
Я читал в других вопросах, что это может произойти при использовании нескольких регистраторов и их распространении сообщений до корневого регистратора, однако в этом случае я использую только корневой регистратор.
visual-studio
иamazon-cloudwatchlogs
, так как вопрос их не касается. - person   schedule 08.12.2016log4net.LogManager.GetRepository().GetAppenders()
и посмотреть, что возвращается - person Kevin Smith   schedule 11.12.2016