Я впервые использую log4j в проекте. Один программист сказал мне, что использование System.out.println
считается плохим стилем и что log4j сейчас что-то вроде стандартного для ведения журнала.
Мы проводим много испытаний JUnit - материал System.out
оказывается более сложным для тестирования.
Поэтому я начал использовать log4j для класса контроллера консоли, который просто обрабатывал параметры командной строки.
// log4j logger config
org.apache.log4j.BasicConfigurator.configure();
Logger logger = LoggerFactory.getLogger(Console.class);
Category cat = Category.getRoot();
Кажется, работает:
logger.debug("String");
Выдает:
1 [main] DEBUG project.prototype.controller.Console - String
Я получил два вопроса относительно этого:
- Из моего основного понимания с использованием этого регистратора следует предоставить мне удобные опции для записи файла журнала с отметками времени - вместо того, чтобы спамить консоль - если режим debug включен в журнале?
- Почему System.out.println сложнее проверить? Я искал stackoverflow и нашел тестовый рецепт. Поэтому я задаюсь вопросом, какое преимущество я получаю с помощью log4j.