Java EE: странное поведение при ведении журнала - PullRequest
1 голос
/ 16 сентября 2010

Я использую java.util.logging и помещаю журнал в управляемый компонент приложения, поскольку я думаю, что для всего приложения должен быть только один регистратор.

@ManagedBean(name="logging")  
@ApplicationScoped
public class Logging {

    private static Logger logger = Logger.getLogger(Logger.class.getName());
    private static FileHandler fh = null;

    public Logging() {
        try{
            fh = new FileHandler("DMBackingBean");
        }catch(IOException ignore){}
        logger.addHandler(fh);
        logger.setLevel(Level.ALL);
    }

    public Logger getLogger(){
        return logger;
    }
}

Вот странное поведение, с которым я сталкиваюсь.Когда я запускаю программу в первый раз, я регистрирую AAA внутри DMBackingBean.Затем я повторно развернул приложение (новый сеанс), теперь я увидел, что создан еще один файл журнала DMBackingBean.1 с содержимым AAA.Содержимое DMBackingBean теперь
AAA
AAA

Два вопроса: это стандартно - помещать протоколирование в бин области приложения?Есть ли способ для меня, чтобы все журналы добавлялись в один файл, вместо того, чтобы каждый раз при повторном развертывании (новый сеанс) создавался новый файл журнала?

Ответы [ 2 ]

2 голосов
/ 16 сентября 2010

Является ли стандартным размещение журналов внутри bean-объекта приложения?

IMO, более типично создание иерархии регистраторов, чтобы вы могли активировать и контролировать ведение журналов в мелкозернистом виде (например, настраивая com.acme.Foo для ведения журнала на уровне ОШИБКИ при настройке протоколирования com.acme.bar.BAR на отладке уровень).

Есть ли способ для меня, чтобы все журналы добавлялись в один файл, вместо того, чтобы каждый раз при повторном развертывании (новый сеанс) создавался новый файл журнала?

Похоже, вам нужно создать обработчик добавляющегося файла:

try { 
    // Create an appending file handler
    boolean append = true; 
    FileHandler handler = new FileHandler("my.log", append); 
    ...
}

Ссылки

0 голосов
/ 16 сентября 2010

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

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