Log4j - проблема записи в собственный файл журнала - PullRequest
1 голос
/ 14 апреля 2011

Spring 3.0 веб-приложение. Поместили следующий файл свойств Log4j в каталог / WEB-INF / classes файла WAR ....

log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.A1.File=C:\\Testing.log  

Иметь Form Controller, который регистрирует элементы из формы через регистратор ...

@Controller 
@RequestMapping("/FlowPartOne")
public class FlowPartOneFormController {

    private final Logger logger = Logger.getLogger(this.getClass());

    @RequestMapping(method=RequestMethod.POST)
    public String processForm(@ModelAttribute("pageOneData") PageOneData pageOneData) {
        logger.info("Page One, Line One>" + pageOneData.getDataLineOne() + "<");
        logger.info("Page One, Line Two>" + pageOneData.getDataLineTwo() + "<");
        return "FlowPartOne";
    }

} 

Приложение работает под Glassfish 3.

Когда приложение запускается, выводится журнал, но в каталоге журнала glassfish ... \ glassfish \ domains \ logs \ server.log.

Я создал файл журнала на диске C :, но он не используется.

Я немного новичок в Log4J, что я делаю не так ???

1 Ответ

1 голос
/ 27 апреля 2011

Если Glassfish использует сам log4j, если он будет загружен загрузчиком классов перед запуском приложения, указывая на файл журнала серверов приложений, так что ваш файл конфигурации вообще не загружается.

Вы можете попытаться включить log4j.jar в ваш / WEB-INF / lib, чтобы загрузить свою личную копию в загрузчик классов вашего приложения, это должно поднять вашу конфигурацию, поскольку при загрузке классов сервера приложений локальный загрузчик классов имеет приоритет над родитель (сервер приложений).

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

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