Not a bad suggestion. I'll give that some thought but I think I like it! Thank 
you!

-----Original Message-----
From: slf4j-user [mailto:[email protected]] On Behalf Of Joachim 
Durchholz
Sent: Tuesday, February 28, 2017 12:22 PM
To: [email protected]
Subject: Re: [slf4j-user] logging common data simply

On 27.02.2017 17:31, Shanholtz, Jeff wrote:
> You ask why is a wrapper better than just plain old logging? It is 
> *marginally* better in that it forces a consistent log message format 
> (important for importing into our ELK stack) and also serves as a reminder to 
> the programmer to include the guids whenever possible.

In that case, you can use a wrapper class like this:

public class GuidForLog {
     private GUID guid1;
     private GUID guid2;
     private GUID guid3;
     public GuidForLog(GUID guid1, GUID guid2, GUID guid3) {
         this.guid1 = guid1;
         this.guid2 = guid2;
         this.guid3 = guid3;
     }
     public GuidForLog(GUID guid1, GUID guid2) {
         this.guid1 = guid1;
         this.guid2 = guid2;
     }
     public GuidForLog(GUID guid1) {
         this.guid1 = guid1;
     }
     public String toString() {
         StringBuilder sb := new StringBuilder();
         sb.append("[");
         sb.append(guid1);
         if (guid2 != null) {
             sb.append(",");
             sb.append(guid2);
         }
         if (guid3 != null) {
             sb.append(",");
             sb.append(guid3);
         }
         sb.append("]");
     }
}

Programmers can then use it like this:

logger.info("GUID {}: foo blah blarb", new GuidForLog(guid1, guid2));

It does not make programmers think about adding the GUIDs, but it does make 
sure there's a common format.
If GUID is something other than String, then this also avoids unnecessary 
toString calls.


Option B:

If the number of GUIDs is known in advance for each call site, then

logger.info("GUID [{},{}]: foo blah blarb", guid1, guid2);

is still the easiest option.


_______________________________________________
slf4j-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/slf4j-user
_______________________________________________
slf4j-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/slf4j-user

Reply via email to