2016-08-01 9 views
4

Я хотел бы поместить файл журнала в домашнюю директорию пользователя.Как разместить файл журнала в домашнем каталоге пользователя в переносном режиме в журнале?

Как это сделать переносным способом, то есть работать с Windows, Linux и Mac?

+0

Используйте '$ {user.home}' или что-то в этом роде. См. Документацию (NB: первый ответ Google: http://mailman.qos.ch/pipermail/logback-user/2013-May/003938.html) –

+0

Если вы считаете, что один из приведенных ниже ответов помог вам, пожалуйста, повысьте/отметьте это как «принято», чтобы другие люди знали, что это сработало для вас :) (еще, не стесняйтесь комментировать) – xav

ответ

9

Согласно Logback documentation, вы должны использовать ${user.home}, которая является переменной среды, присутствующей в JVM непосредственно поступающего из ОС (так это портативный):

<appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>${user.home}/logback.log</file> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern> 
    </encoder> 
</appender> 
0

установка Logging действительно компонент конфигурации система. Лучше всего будет отделить (и загрузить) конфигурацию для каждой системы. Один хороший способ сделать это - использовать что-то вроде конфигурации Apache Commons, что позволяет обходить набор свойств, которые укажут, где найти одноразовую конфигурацию журнала.

Мы используем «приоритетную» схему для идентификации имени файла конфигурации журнала. Использование конфигурации Apache Commons задаст схему вроде:

<configuration config-name="master-config"> 
<!-- start here, properties encountered in the first file would be ignored in the last file --> 
<properties fileName="/opt/config/log.properties" optional="true"/> 
<properties fileName="${sys:user.home}/config/product/log.properties" optional="true"/> 
<properties fileName="com/company/product/config/log.properties"/>  

На моем местном поле разработки окна ($ {SYS: user.home} /config/product/log.properties) файл будет выглядеть

logbackConfigLocation=C:/Users/dan/config/product/logback.xml 

Затем каждая система/пользователь может настроить/настроить регистрацию по желанию. Из контекста сервлета вы можете загружать и инициализировать логин.