Я пытаюсь реализовать регистратор уровня приложений (веб-приложения, развернутые в weblogic) - с использованием java.util.logging.
Я взял ClassLoaderLogManager из системы регистрации JULI apache, поскольку она уже реализует ведение журнала на уровне приложения.
Вот так выглядит мой код сервлета ( SimpleServlet .java):
ClassLoaderLogManager ClassLoaderLogManager = new ClassLoaderLogManager () ;
String nameoflogger = SimpleServlet.class.getName() ;
boolean status = ClassLoaderLogManager .addLogger(nameoflogger);
if(status)
{
Logger logger = ClassLoaderLogManager .getLogger(nameoflogger);
logger.log(Level.FINEST, "testing SimpleServlet FINEST");
logger.log(Level.INFO, "testing SimpleServlet INFO");
logger.log(Level.SEVERE, "testing SimpleServlet SEVERE");
}
ClassLoaderLogManager .reset();
И у меня есть файл logging.properties в java_home / jre / lib следующим образом
handlers= java.util.logging.FileHandler
#.level= INFO
# default file output is in user's home directory.
java.util.logging.FileHandler.pattern = %h/java_%g.log
java.util.logging.FileHandler.limit = 200
java.util.logging.FileHandler.count = 10
java.util.logging.FileHandler.append = true
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
# Limit the message that are printed on the console to INFO and above.
#java.util.logging.ConsoleHandler.level = INFO
#java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
package8.SimpleServlet.handler = java.util.logging.FileHandler
############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################
# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
package8.SimpleServlet.level = SEVERE
Поэтому, когда я запускаю веб-приложение - и когда я получаю доступ к веб-приложению, я ожидаю, что будут созданы java_0.log, java_1.log (ротация файла журнала) - и т. Д. Но я также вижу java0.log.lck, java1.log.lck.
В файлах журналов отображаются только журналы уровня SEVERE, как и ожидалось.
Почему это происходит? Если у меня есть создание обработчика на стороне кода Java, закрытие обработчика решит проблему. Купить у вас не обрабатывается здесь?
Или это потому, что я использую, использую java.util.logging.FileHandler , а не org.apache.juli.FileHandler при использовании org.apache.juli. ClassLoaderLogManager
??