warn the properly please org logger locator initialize found for example defaultommetafactorylocator could appenders log4j

the - log4j: ERROR Se intentó adjuntar al appender cerrado llamado



log4j xml appender file example (6)

Esto también puede significar que ya tiene su servidor en ejecución y está intentando ejecutarlo nuevamente. La segunda instancia no puede escribir en el archivo de registro porque ya está abierto en su servidor.

solución: compruebe si su servidor ya se está ejecutando y reinícielo si es necesario.

Estoy recibiendo los siguientes errores en mi consola repetidamente

log4j:ERROR Attempted to append to closed appender named [ConsoleAppender]. log4j:ERROR Attempted to append to closed appender named [FixedWindowRollingFile].

log4j.xml usado

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> <appender class="org.apache.log4j.rolling.RollingFileAppender" name="FixedWindowRollingFile"> <param name="Append" value="true"/> <param name="ImmediateFlush" value="true"/> <rollingPolicy class="org.apache.log4j.rolling.FixedWindowRollingPolicy"> <param name="fileNamePattern" value="logs/StandardizeAccountService.%i.log"/> <param name="minIndex" value="1"/> <param name="maxIndex" value="10"/> </rollingPolicy> <triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy"> <param name="MaxFileSize" value="1002400"/> </triggeringPolicy> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %p %c{1}:%L - %m%n"/> </layout> </appender> <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.SimpleLayout"/> </appender> <logger name="com.arosys" additivity="false" > <level value="INFO" /> <appender-ref ref="ConsoleAppender" /> <appender-ref ref="FixedWindowRollingFile"/> </logger> <root> <priority value="INFO"/> <appender-ref ref="ConsoleAppender"/> <appender-ref ref="FixedWindowRollingFile"/> </root> </log4j:configuration>

por favor ayudame donde esta el problema


No estoy diciendo que esta sea la causa del comportamiento que describe (pero podría hacerlo), pero esta parte:

<logger name="com.arosys" additivity="false" > <level value="INFO" /> <appender-ref ref="ConsoleAppender" /> <appender-ref ref="FixedWindowRollingFile"/> </logger>

es inútil Normalmente, configuraría un registrador no aditivo para redirigirlo a otro lugar que no sea ​​el lugar predeterminado (su registrador raíz), pero aún así enviará la salida al lugar predeterminado. También podrías eliminar este fragmento.


Solo para aclarar porque la respuesta de MaDa me engañó, additivity = false redirige la salida a otro lugar que el predeterminado (registrador raíz) y NO al predeterminado. Consulte http://logging.apache.org/log4j/1.2/manual.html capítulo "Anexos y diseños"


Tengo el mismo error:

log4j:ERROR Attempted to append to closed appender named [rollingFileAppender].

En mi log4j.xml

Tengo dos madereros con el mismo nombre como abajo

<logger name="java.sql.PreparedStatement" additivity="false"> <level value="INFO"/> <appender-ref ref="rollingFileAppender"/> </logger> <logger name="java.sql.PreparedStatement"> <level value="INFO"/> <appender-ref ref="rollingFileAppender"/> </logger>

Quité el duplicado, funcionó.


Uno podría sobrescribir la configuración usando:

BasicConfigurator.resetConfiguration(); PropertyConfigurator.configure(props);


He respondido una pregunta similar aquí: https://.com/a/9973283/340290

En mi caso, tengo dos log4j.properties disponibles para Log4J: una a través de la colocación en classpath y otra que se carga mediante programación (utilizando PropertyConfigurator.configure(..) ).

Y en los dos archivos, he registrado ConsoleAppender con el mismo nombre stdout y he usado la misma categoría dos veces (una por cada archivo de propiedades). Eliminar la configuración o el archivo de propiedades resolvió mi problema.