ppkarwasz commented on code in PR #2853:
URL: https://github.com/apache/logging-log4j2/pull/2853#discussion_r1731124967
##########
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java:
##########
@@ -642,80 +642,128 @@ public String toString() {
* @return An Rfc5424Layout.
* @deprecated Use {@link Rfc5424LayoutBuilder instead}
*/
- @PluginFactory
+ @Deprecated
public static Rfc5424Layout createLayout(
- // @formatter:off
- @PluginAttribute(value = "facility", defaultString = "LOCAL0")
final Facility facility,
- @PluginAttribute("id") final String id,
- @PluginAttribute(value = "enterpriseNumber", defaultInt =
DEFAULT_ENTERPRISE_NUMBER)
- final int enterpriseNumber,
- @PluginAttribute(value = "includeMDC", defaultBoolean = true)
final boolean includeMDC,
- @PluginAttribute(value = "mdcId", defaultString = DEFAULT_MDCID)
final String mdcId,
- @PluginAttribute("mdcPrefix") final String mdcPrefix,
- @PluginAttribute("eventPrefix") final String eventPrefix,
- @PluginAttribute(value = "newLine") final boolean newLine,
- @PluginAttribute("newLineEscape") final String escapeNL,
- @PluginAttribute("appName") final String appName,
- @PluginAttribute("messageId") final String msgId,
- @PluginAttribute("mdcExcludes") final String excludes,
- @PluginAttribute("mdcIncludes") String includes,
- @PluginAttribute("mdcRequired") final String required,
- @PluginAttribute("exceptionPattern") final String exceptionPattern,
- // RFC 5425
- @PluginAttribute(value = "useTlsMessageFormat") final boolean
useTlsMessageFormat,
- @PluginElement("LoggerFields") final LoggerFields[] loggerFields,
- @PluginConfiguration final Configuration config) {
- // @formatter:on
+ final Facility facility,
+ final String id,
+ final int enterpriseNumber,
+ final boolean includeMDC,
+ final String mdcId,
+ final String mdcPrefix,
+ final String eventPrefix,
+ final boolean newLine,
+ final String escapeNL,
+ final String appName,
+ final String msgId,
+ final String excludes,
+ String includes,
+ final String required,
+ final String exceptionPattern,
+ final boolean useTlsMessageFormat,
+ final LoggerFields[] loggerFields,
+ final Configuration config) {
if (includes != null && excludes != null) {
LOGGER.error("mdcIncludes and mdcExcludes are mutually exclusive.
Includes wil be ignored");
includes = null;
}
- return new Rfc5424Layout(
- config,
- facility,
- id,
- String.valueOf(enterpriseNumber),
- includeMDC,
- newLine,
- escapeNL,
- mdcId,
- mdcPrefix,
- eventPrefix,
- appName,
- msgId,
- excludes,
- includes,
- required,
- StandardCharsets.UTF_8,
- exceptionPattern,
- useTlsMessageFormat,
- loggerFields);
- }
-
- public static class Rfc5424LayoutBuilder {
- private Configuration config;
+ return newBuilder()
+ .setConfiguration(config)
+ .setFacility(facility)
+ .setId(id)
+ .setEin(String.valueOf(enterpriseNumber))
+ .setIncludeMDC(includeMDC)
+ .setIncludeNL(newLine)
+ .setEscapeNL(escapeNL)
+ .setMdcId(mdcId)
+ .setMdcPrefix(mdcPrefix)
+ .setEventPrefix(eventPrefix)
+ .setAppName(appName)
+ .setMessageId(msgId)
+ .setExcludes(excludes)
+ .setIncludes(includes)
+ .setRequired(required)
+ .setCharset(StandardCharsets.UTF_8)
+ .setExceptionPattern(exceptionPattern)
+ .setUseTLSMessageFormat(useTlsMessageFormat)
+ .setLoggerFields(loggerFields)
+ .build();
+ }
+
+ @PluginBuilderFactory
+ public static Rfc5424LayoutBuilder newBuilder() {
+ return new Rfc5424LayoutBuilder();
+ }
+
+ public static class Rfc5424LayoutBuilder extends
AbstractStringLayout.Builder<Rfc5424LayoutBuilder>
+ implements
org.apache.logging.log4j.core.util.Builder<Rfc5424Layout> {
+
+ @PluginBuilderAttribute
private Facility facility = Facility.LOCAL0;
+
+ @PluginBuilderAttribute
private String id;
+
+ @PluginBuilderAttribute
private String ein = String.valueOf(DEFAULT_ENTERPRISE_NUMBER);
+
+ @PluginBuilderAttribute
+ private Integer enterpriseNumber;
+
+ @PluginBuilderAttribute
private boolean includeMDC = true;
+
+ @PluginBuilderAttribute
private boolean includeNL;
+
+ @PluginBuilderAttribute
private String escapeNL;
+
+ @PluginBuilderAttribute
private String mdcId = DEFAULT_MDCID;
+
+ @PluginBuilderAttribute
private String mdcPrefix;
+
+ @PluginBuilderAttribute
private String eventPrefix;
+
+ @PluginBuilderAttribute
private String appName;
+
+ @PluginBuilderAttribute
private String messageId;
+
+ @PluginBuilderAttribute
private String excludes;
+
+ @PluginBuilderAttribute
private String includes;
+
+ @PluginBuilderAttribute
private String required;
- private Charset charset;
+
+ @PluginBuilderAttribute
private String exceptionPattern;
+
+ @PluginBuilderAttribute
private boolean useTLSMessageFormat;
+
+ /**
+ * If {@code true}, the FQDN of the current host will be used.
+ */
+ @PluginBuilderAttribute
+ private boolean useFqdn = false;
Review Comment:
Excellent idea!
Fixed in
https://github.com/apache/logging-log4j2/pull/2853/commits/082f3683dce1530c5d735ea413efecbe3e1fa320
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]