Как изменить формат журнала Weblogic 10/11? - PullRequest
2 голосов
/ 21 января 2010

Я хочу изменить формат журнала для журнала сервера Weblogic. Сейчас он генерирует журналы, используя формат по умолчанию - я хочу иметь возможность указать свой собственный формат.

Например, он генерирует журналы, которые выглядят так:

####<Jan 21, 2010 3:24:24 PM EST> <Info> <Socket> <FS2LOANER-00981> <DPSCoreServer1> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1264105464314> <BEA-000436> <Allocating 2 reader threads.> 
####<Jan 21, 2010 3:24:24 PM EST> <Info> <Socket> <FS2LOANER-00981> <DPSCoreServer1> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1264105464314> <BEA-000446> <Native IO Enabled.> 

Я попытался изменить формат журнала, указав в Weblogic LOG4J в качестве своей системы ведения журнала и используя мой файл log4j.properties, который определяет мои желаемые форматы журналов. Тем не менее, weblogic не выбирает мои настройки файла log4j.property и продолжает регистрироваться в нужном формате, независимо от того, что я пытаюсь.

По сути, этот вопрос очень похож на следующий пост, но на этот вопрос так и не был дан ответ (утвержденный ответ касался того, как включить отладку log4j, что не помогло мне понять, почему weblogic не отвечает файл log4j.properties). Использование log4j для входа в weblogic 9/10

Ответы [ 5 ]

2 голосов
/ 02 декабря 2010

Создайте класс запуска домена следующим образом:

import org.apache.log4j.PatternLayout;

import weblogic.logging.LoggerNotAvailableException;
import weblogic.logging.log4j.Log4jLoggingHelper;

public class LoggingConfigurator {
    public static void main(String[] args) {
        try {
            System.out.println("Configuring Log4j pattern");
            Log4jLoggingHelper.getLog4jServerLogger().getAppender("WLLog4jRotatingFileAppender")
                    .setLayout(new PatternLayout("%d{ISO8601} %-5p [%c] - %m%n"));
        } catch (LoggerNotAvailableException e) {
            e.printStackTrace();
        }
    }
}

Амнон

1 голос
/ 26 января 2010

Насколько мне известно, вы не можете (и нет, не хотите) изменять собственный Формат сообщения журнала WebLogic Server (служба поддержки будет очень рада получить необходимую информацию в случае проблема).

Но вы можете настроить WebLogic для использования Log4j (см. Как использовать Log4j с WebLogic Logging Services ), и, когда Log4j включен, вы можете получить ссылку на org.apache.log4j.Logger, который использует сервер и прикрепите свой собственный аппендир.

Когда Log4j включен, вы получаете ссылка на org.apache.log4j.Logger что Сервер использует от weblogic.logging.log4j.Log4jLoggingHelper класс.

С помощью ссылки Log4j Logger вы можете прикрепить свой собственный аппендидер к получать журнал событий сервера; за Например, вы можете прикрепить который отправляет события журнала сервера Системный журнал или средство просмотра событий Windows. Кроме того, вы можете использовать Logger ссылка на запрос журнала запросов к Услуги ведения журнала WebLogic; этот требует, чтобы библиотеки Log4j были доступны для вашего развертывания применение.

Но это не замена собственного журнала WebLogic.

0 голосов
/ 06 мая 2016

Weblogic не получает ваши log4j.properties, потому что он не знает, что он есть.

Вам нужно перейти на путь к классам сервера и добавить путь к файлу свойств, сохранить изменения и перезагрузить сервер.Это должно сработать.

0 голосов
/ 20 апреля 2016

До сих пор сообщения не отвечали на первоначальный вопрос, поэтому WebLogic не выбирает требуемый формат журнала, настроенный в файле log4j.properties.

Мне кажется, что вы используете WL Server Logging Bridge для перенаправления сообщений приложения log4j в службы журналирования сервера WL?Если это предположение верно, из Настройка файлов журнала и фильтрация сообщений журнала для Oracle WebLogic Server вам потребуется передать аргумент в команду запуска сервера WL, чтобы загрузить правильные конфигурации log4j,

-Djava.util.logging.config.file = / [PATH] /log4j.properties

Очиститель просто пропускает эту опцию JVM при запуске WL, хотя в качестве альтернативы вы можете достичь ее программным путем, как в предыдущем посте,

0 голосов
/ 01 марта 2011

У меня нет желания заменить регистратор WebLogic, но у меня очень сильное желание настроить формат журнала. Метод, опубликованный Амноном, работает очень хорошо (поэтому я не уверен, почему вы говорите, что не можете изменить формат); Я просто хотел бы получить дополнительную информацию.

Единственный минус, который я вижу в этом методе, заключается в том, что, если у вас перенаправлен StdOut / StdErr в подсистему ведения журнала, он отображается в журнале с пустым значением символа преобразования% c; если я не изменю шаблон макета, то вижу и вместо этого.

Это - это то, что я хотел увидеть в исходной строке макета шаблона, чтобы я мог внести свои изменения и сохранить в лог-файле.

...