I want to append a custom field to the log record and used the
LogEventPatternConverter for this. Referred the documentation
<https://logging.apache.org/log4j/2.x/manual/extending.html#PatternConverters>
and
wrote the below code.
Now the options happen to be a zero length array.
The documentation says "String array are the values that are specified
within the curly braces that can follow the converter key". Isn't this the
{"p","pId"} in my code?
@Plugin(name = "PIdConverter", category = "Converter")
@ConverterKeys({"p","pId"})
public class PIdConverter extends LogEventPatternConverter {
public PIdConverter(String[] options) {
super(options[0], options[0]);
}
public static PIdConverter newInstance(String[] options) {
return new PIdConverter(options);
}
@Override
public void format(LogEvent event, StringBuilder toAppendTo) {
toAppendTo.append(getpID());
}
public String getpID() {
String pId = "123";
if (pId == null) {
pId = "[]";
}
return pId;
}
}