[
https://issues.apache.org/jira/browse/LOG4J2-770?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Remko Popma resolved LOG4J2-770.
--------------------------------
Resolution: Not a Problem
Okay, thanks for understanding. I will resolve this issue as "Not a problem",
and if you have further questions please give us a shout on the log4j-user
mailing list or raise another Jira, and we will see what we can do.
> Add method addOnLogging() in Logger interface
> ---------------------------------------------
>
> Key: LOG4J2-770
> URL: https://issues.apache.org/jira/browse/LOG4J2-770
> Project: Log4j 2
> Issue Type: New Feature
> Components: API, Core
> Reporter: Krzysztof Szewczyk
>
> It would be useful to add method addOnLogging or similar that would be enable
> the addition action during logging.
> In my work copy I did something like that:
> - I created:
> {code:title=OnLogging.java|borderStyle=solid}
> public interface OnLogging{
> public void onLogging(Level level, Object message, Throwable ex);
> }
> {code}
> - I added to interface Logger method:
> {code:title=org.apache.logging.log4j.Logger.java|borderStyle=solid}
> public void addOnLogging(OnLogging ol);
> {code}
> - in Logger implementations I added:
> {code:title=org.apache.logging.log4j.core.Logger.java|borderStyle=solid}
> private List<OnLogging> onLoggingList;
> public addOnLogging(OnLogging ol){
> onLoggingList.add(ol);
> }
> //edit method
> public void logMessage(final String fqcn, final Level level, final Marker
> marker, final Message msg, final Throwable throwable) {
> // ....
> for(OnLogging ol : onLoggingList) {
> ol.onLogging(level, msg, t);
> }
> }
> {code}
> - and finish - example usecase:
> {code:title=Example.java|borderStyle=solid}
> private Label label = new ....;
> private Logger l = ....;
> public void init() {
> l.addOnLogging((Level level, Object o, Throwable thrwbl) -> {
> if (level == Level.WARN) {
> label.setColor("yellow");
> label.setText(o.toString());
> } else if (level == Level.ERROR) {
> label.setColor("red");
> label.setText(o.toString());
> } else if (level == Level.FATAL) {
> label.setColor("brown");
> label.setText(o.toString());
> ErrorDialog.show(o.toString, thrwbl);
> Platform.exit();
> }
> });
> l.warn("This is warning on my label");
> }
> {code}
> I needed it because I wanted to bind logs with my gui - on logging action I
> update some control to give user some information.
> I hope that you will consider it a useful feature
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]