Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > log4j2, вопросы |
Автор: mego4el 13.11.2013, 21:55 | ||
Доброго вечера. Столкнулся с небольшими трудностями: http://screenshot.ru/images/2013/11/13/cMuADil.jpg (красным цветом выделил фрагмент) Не могу понять почему и откуда идут эти "кривые" символы. В то время как рут логгер должен выдавать по шаблону hh:mm:ss [LEVEL] msg (как видно немного выше) Вызов идет из внешней библиотеки mchange. Вероятно что там остались зачатки старого util Logging. Как с этим бороться? Подскажите пожалуйста. Сам конфиг имеет вид:
|
Автор: mego4el 14.11.2013, 00:00 |
Еще небольшой вопрос: Как создать свой уровень логгирования? Причем суть в том, что бы просто сделать другой шаблон сообщению, например: log.warn("this is warning"); - стандартно log.mylevel("this is my level"); - новый уровень Выводы: [WARNING] this is warning [MYLEVEL] this is my level В голову приходит только сделать банально <Pattern>%d{HH:mm:ss} [MYLEVEL] %m%n</Pattern> Но тогда даже не знаю как мне в конкретный момент времени вызвать через метод (log.mylevel - без понятия как создать) Наведите пожалуйста на верные мысли. Спасибо! |
Автор: AlexAddams 4.12.2013, 23:29 |
Есть неплохая статья, мне в свое время помогла : http://javatutor.net/articles/journalizing-with-log4j |
Автор: sergioK1 12.12.2013, 11:36 | ||||
Вот еще http://www.tutorialspoint.com/log4j/log4j_logging_files.htm Но у меня вопрос
кто отвечает за то что в ${log} оказался реальный путь на директорию, Это переменная операционной системы , а если на занята другой аппликацией ?? и как мне сделать конфигурацию сразу для Windows и Linux Я счал делаю в коде
|
Автор: AlexAddams 12.12.2013, 23:33 |
Обычно создаю файл *.xml с настройками, потом использую org.apache.log4j.xml.DOMConfigurator из log4j у него есть public static void configure(String filename) для загрузки файла, обычно ложу файл с настройками в lib проекта и спокойно пользуюсь. Метод static. Есть еще аналог public static void configure(URL url), можно положить удаленно и грузить и т.д. Вместо {log} попробуй написать {user.home} и посмотри где запишет. Посмотри вот здесь: http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html, там есть примерчик, можно с ним побаловаться, установить например {my.user.home} на понравившуюся директорию и работай. Самое интересное, System.getProperties().list(System.out); выполни и узнаешь какие настройки установлены. Конечно устанавливать нужно {my.user.home} до вызова конфигурации lo4j, например: в main, сначала, установи конфигурацию своих переменных для приложения, потом загрузи *.xml с настройками log4j. По уровням посмотри http://www.skipy.ru/useful/logging.html там есть Использование Log4J, внимательно посмотри и проанализируй табличку. |