Компонент ведения журнала с использованием log4j в приложении Java / Java EE - PullRequest
0 голосов
/ 19 декабря 2011

Я пытаюсь создать компонент для ведения журнала уровня приложения (java / java ee) с использованием log4j. Где я могу создать jar компонента и поместить его в путь к классу любого приложения и использовать его. Ниже подход я следовал

  1. Я переопределяю метод журнала, такой как отладка, трассировка, информация и т. Д.

  2. подстановка с одним и несколькими аргументами, например, MessageFormatter.format("Hi {}. My name is {}.", "Alice", "Bob"); вернет строку «Привет, Алиса. Меня зовут Боб.» .

  3. скажем, например, для трассировки сообщения

    public boolean isTraceEnabled() {  return logger.isTraceEnabled();}
    
    public void trace(String msg, Throwable throwable, Object... args) {
        log(isTraceEnabled(),throwable,msg,args);//
    }
    
    private void log(boolean isEnabled, Throwable throwable, String msg,Object... args)
    {
    
        if(throwable!=null){
            String message=MessageFormatter.getFormattedMessage(throwable);//Formated the exception message 
            msg=msg+message;
            throwable=null;
        }
    
          if (args == null || args.length == 0) {
                logger.log(FQCN,LEVELmsg, throwable);
            } else {
                if (isEnabled) {
                    String formattedMsg = MessageFormatter.arrayFormat(msg, args);//single and multiple argument substutution 
                    logger.log(FQCN, UtilConstant. Level.TRACEformattedMsg, throwable);
                }
            }
    }
    

Моя цель - создать компонент, который сможет обслуживать все приложения Java EE. Достаточно ли двух подходов, или мне нужно больше с этим работать. Пожалуйста, помогите.

1 Ответ

3 голосов
/ 19 декабря 2011

Мне кажется, ты изобретаешь колесо. Посмотрите на SLF4J , он может делать то, что вы хотите реализовать, и он защищает вас от базовой системы обмена сообщениями, которую вы можете изменить в любое время (она работает с log4j из коробки, тоже).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...