Устраните дубликат, входящий в систему log4net

Сначала вы должны инициализировать $ R, $ P и $ S в false. Затем прочитайте пользовательский ввод 1x в $ input. Остальные сценарии выглядят хорошо.

<?php
$R = $P = $S = false;
$input= stream_get_line(STDIN, 1, "\n");
62
задан Philipp M 1 October 2013 в 12:10
поделиться

2 ответа

Вы становитесь дублированными, потому что Вы говорите этому регистрировать сообщения дважды. Я не рекомендовал бы использовать аддитивность здесь, так как Вы могли бы испытать некоторые побочные эффекты, просто удалить ненужную конфигурацию:

<root>
    <level value="WARN" />
    <appender-ref ref="Console" />
    <appender-ref ref="LogFile" />
</root>
<logger name="myprogram">
    <level value="INFO" />
</logger>

Вы не должны указывать appender-касательно в регистраторе myprogram, так как он наследует их от корневого регистратора; при определении их снова, это зарегистрируется дважды.

78
ответ дан Philipp M 24 November 2019 в 16:39
поделиться

Попробуйте этим изменением, установив аддитивность на ложь.

<root>
    <level value="WARN" />
    <appender-ref ref="Console" />
    <appender-ref ref="LogFile" />
</root>
<logger name="myprogram" additivity="false">
    <level value="INFO" />
    <appender-ref ref="Console" />
    <appender-ref ref="LogFile" />
</logger>
69
ответ дан Philipp M 24 November 2019 в 16:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: