He resuelto problema de ruta de log4j.xml en Mac:
en las ventanas que configurar log4j en web.xml como:
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>file:${LOG4J_HOME}/conf/log4j.xml</param-value>
<!-- Above path is that where we have stored log4j.xml file externally -->
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>6000</param-value>
</context-param>
donde $ {} LOG4J_HOME es varible de usuario se utiliza para fijar en la ventana. como
variable de usuario = LOG4J_HOME valor = D:/LOG4J (en la unidad d hemos creado una carpeta de nombre Log4J copiamos ese camino y ha puesto como un valor)
En Mac que han envirenvirent fasility conjunto de variables por comando bash, pero ya no funciona.
así que para mac tenemos que crear una carpeta en cualquier lugar y tenemos que dar la ruta estática de esa carpeta.
como en xml:
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>file:/Users/vardhaman/Desktop/LOG4J/conf/log4j.xml</param-value>
<!-- Above path is that where we have stored log4j.xml file externally to get this path go up to the log4j.xml file in external device and right click select get info, where we will get path, copy that path -->
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>6000</param-value>
</context-param>
La misma manera que tenemos que hacer en el archivo log4j.xml
En la ventana que usamos para hacer como:
<appender name="CLICK-SPRING" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${LOG4J_HOME}/logs/CLICK/CLICK-spring.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="DEBUG"/>
<param name="MaxFileSize" value="100MB"/>
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %p [%t] %C{1}.%M(%L) | %m%n"/>
</layout>
</appender>
En Mac:
en lugar de valor, tenemos que copiar la ruta estática hasta la carpeta LOG4J, o puede crear cualquier carpeta.
<appender name="CLICK-SPRING" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="Users/vardhaman/Desktop/LOG4J/logs/CLICK/CLICK-spring.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="DEBUG"/>
<param name="MaxFileSize" value="100MB"/>
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %p [%t] %C{1}.%M(%L) | %m%n"/>
</layout>
</appender>
tenga en cuenta que debe asegurarse de tener la autorización adecuada en las carpetas. – Tomer
La carpeta $ {user.home} generalmente está abierta para operaciones de escritura. El propósito de esa carpeta es almacenar los archivos específicos del usuario creados en la sesión. –
Gracias por la respuesta; sin embargo, en esta solución, la ubicación del archivo de registro será la misma, independientemente del sistema operativo. Consulte mi edición anterior para obtener más aclaraciones sobre el problema. – Poorav