Я хочу, чтобы log4j выдавал похожий на запись вывод.
Чего я не хочу:
1 INFO ... - User login: Agostino
120 INFO ... - Start process: 0, elements to process 100
Что я хочу:
1 INFO ... - User: Agostino, processid:null, elements: null, message: login
1 INFO ... - User: Agostino, processid:0, elements: 100, message: start process
Я думаю, что мне следует использовать ObjectRenderer, и так как многие данные содержатся в объектах, которые у меня уже есть, я думаю что-то вроде:
public class MyMessage {
Object myContextObject; //**this** contains user, processid, elements
String message;
}
То, что я здесь делаю, это передача «объекта контекста», который предоставляет поля ПЛЮС строки сообщения. Затем ObjectRenderer выполнит форматирование на основе типа myContextObject.
Теперь мне интересно, спроектирован ли ObjectRenderer что-то подобное.
Если бы это было обычное использование ObjectRenderer, вероятно, они бы предоставили
log (String message, Object myContextObject), которые предотвращают создание фиктивной оболочки MyMessage.