Что Вы имеете в своей конфигурации log4net? Взломы, оптимизация, наблюдения?

Вы не можете, ну, можете.

.pvw-title:after {
  content: "Test";
}

Это вставляет содержимое после текущего содержимого элемента. Это фактически не заменяет его, но вы можете выбрать пустой div и использовать CSS для добавления всего содержимого.

Но пока вы более или менее можете, вы не должны. Фактический контент должен быть помещен в документ. Свойство содержимого в основном предназначено для небольшой разметки, например, кавычек вокруг текста, который должен отображаться.

17
задан Cherian 6 March 2009 в 17:22
поделиться

4 ответа

Одно предложение для RollingLogFileAppender состоит в том, чтобы использовать минимальный lockingModel. С этой установкой файла журнала не заблокирован, скорее это открыто и затем закрыто для каждой записи.

<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
11
ответ дан 30 November 2019 в 10:21
поделиться

Для входа с различными цветами при показе на консоли в зависимости от уровня сообщения (отладка, информация, ошибка или фатальный). Второй appender должен сохранить его на файле:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <configSections>
     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
   </configSections>

<log4net debug="false">
  <appender name="trace" type="log4net.Appender.TraceAppender, log4net">
    <layout type="log4net.Layout.PatternLayout,log4net">
      <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
    </layout>
  </appender>

 <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender,log4net">
   <mapping>
    <level value="ERROR" />
    <foreColor value="White" />
    <backColor value="Red" />
  </mapping>
  <mapping>
    <level value="DEBUG" />
    <foreColor value="White" />
  </mapping>
  <mapping>
    <level value="INFO" />
    <foreColor value="Green" />
  </mapping>

  <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
  </layout>
</appender>

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
  <param name="File" value="Logs/NSCurrent.log" />
  <param name="AppendToFile" value="true" />
  <param name="RollingStyle" value="Date" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  <datePattern value="yyyy-MM-dd" />
  <layout type="log4net.Layout.PatternLayout,log4net">
    <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
  </layout>
</appender>

  <root>
    <priority value="DEBUG" />
    <appender-ref ref="RollingFile" />
    <appender-ref ref="ColoredConsoleAppender" />
  </root>
 </log4net>
 </configuration>
7
ответ дан 30 November 2019 в 10:21
поделиться

Я выполняю довольно минимальную log4net конфигурацию и предпочитаю использовать формат XML, но одной вещью, которую я предложил бы добавить (для веб-приложений) является трассировка ASP.NET appender. Просто необходимо добавить следующее:

<appender name="AspNetTraceAppender" type="log4net.Appender.AspNetTraceAppender" >
   <layout type="log4net.Layout.PatternLayout" />
</appender>

Тогда вниз в Вашем корневом регистраторе, или везде, где Вы решаете активировать его:

<root>
   <level value="WARN" />
   <appender-ref ref="XmlSchemaFileAppender" />
   <appender-ref ref="AspNetTraceAppender" />
</root>

Это позволяет мне собирать все свои подходящие отладочные данные на единственной странице, когда я отлаживаю некоторую минуту детали ASP.NET. Большую часть времени у меня есть трассировка ASP.NET appender прокомментированный для отключения его, но действительно выручил в нескольких экземплярах, особенно когда Вы пытаетесь выяснить, какое конкретное сообщение сервера назад метод вызывает зависание в Вашем приложении.

4
ответ дан 30 November 2019 в 10:21
поделиться

Это может помочь немногому, в зависимости от того, как подобный log4j и log4net, я думал бы, что они основаны на той же спецификации, но я не знаю наверняка.

Хорошо я не могу сказать Вам, что я имею в своей конфигурации log4net, но я могу сказать Вам, что я имею в своей конфигурации log4j, если это достаточно хорошо...

<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <!--
    <appender name="CHAINSAW_APPENDER"
            class="org.apache.log4j.net.SocketAppender">
        <param name="RemoteHost" value="localhost" />
        <param name="Port" value="4445" />
        <param name="LocationInfo" value="true"/>
        <param name="ReconnectionDelay" value="10000"/>
    </appender>
    -->

    <appender name="FILE_APPENDER"
        class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="c:/dev/logs/OSB.log" />
        <param name="Append" value="true" />
         <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-5p [[[[%c]]]] (((%F:%L))) ___%C___ - %m%n"/>
            </layout>
    </appender>

    <logger name="org.apache">
        <level value="WARN"/>
    </logger>

    <!--
    <logger name="com.conciliarpress.webapp.filter.GZIPFilte">
        <level value="WARN"/>
    </logger>

    <logger name="com.conciliarpress">
        <level value="DEBUG"/>
    </logger>

    <logger name="BibleFormControllerTest">
        <level value="DEBUG"/>
    </logger>

    <logger name="com.conciliarpress.webapp.action.sample.jmesa.JMesaSampleController">
        <level value="DEBUG"/>
    </logger>

    <logger name="com.conciliarpress.webapp.action.binding">
        <level value="DEBUG"/>
    </logger>

    <logger name="org.springframework.web.servlet.mvc">
        <level value="DEBUG"/>
    </logger>

    <logger name="org.directwebremoting">
        <level value="DEBUG"/>
    </logger>

    <logger name="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <level value="DEBUG"/>
    </logger>

    -->

    <logger name="com.conciliarpress.dao.hibernate">
        <level value="DEBUG"/>
    </logger>

    <logger name="com.conciliarpress.service.impl">
        <level value="DEBUG"/>
    </logger>

    <logger name="com.conciliarpress.service.dwr">
        <level value="DEBUG"/>
    </logger>

    <logger name="com.conciliarpress.webapp.action">
        <level value="DEBUG" />
    </logger>

    <root>
        <level value="WARN" />
        <appender-ref ref="FILE_APPENDER"/>
    </root>

</log4j:configuration>

Также у меня есть соответствующий конфигурационный файл цепной пилы:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
   <plugin name="logFileReceiver" class="org.apache.log4j.varia.LogFilePatternReceiver">
     <param name="fileURL" value="file:///c:/dev/logs/OSB.log" />
     <param name="timestampFormat" value="yyyy-MM-d HH:mm:ss,SSS"/> 
     <param name="logFormat" value="TIMESTAMP [THREAD] LEVEL [[[[LOGGER]]]] (((FILE:LINE))) ___CLASS___ - MESSAGE"/> 
     <param name="name" value="DLA_M_LogFile" />
     <param name="tailing" value="true" /> 
   </plugin>

   <root>
      <level value="debug"/>
   </root>
</log4j:configuration>

Также вот некоторая информация, которая может помочь Вам дешифровать последний файл: http://wiki.apache.org/logging-log4j/Configuring_a_log4j_RollingFileAppender_with_Chainsaw

2
ответ дан 30 November 2019 в 10:21
поделиться
Другие вопросы по тегам:

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