Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
base repository: wildfly/wildfly-core
Choose a Base Repository
wildfly/wildfly-core
ASML-Labs/wildfly-core
Acidburn0zzz/wildfly-core
BenjaminLefoul/wildfly-core
BrentDouglas/wildfly-core
DouglasDeciccoT/wildfly-core
Gordiychuk/wildfly-core
IPreeti/wildfly-core
Jakarta-EE-Petclinic/wildfly-core
Kinlaw/wildfly-core
KrishnaKotari/wildfly-core
Ladicek/wildfly-core
Lerm/wildfly-core
OndrejKotek/wildfly-core
Richterrettich/wildfly-core
Sanne/wildfly-core
SirLoxley/wildfly-core
The-Alchemist/wildfly-core
TomasHofman/wildfly-core
WebJustDevelopment/wildfly-core
Yuan-Hu/wildfly-core
adrianoschmidt/wildfly-core
alesj/wildfly-core
aloubyansky/wildfly-core
altanis/wildfly-core
andreabattaglia/wildfly-core
aogburn/wildfly-core
aparnachaudhary/wildfly-core
aparra/wildfly-core
arcivanov/wildfly-core
asoldano/wildfly-core
bagges/wildfly-core
baranowb/wildfly-core
bayern39/wildfly-core
bgaisford/wildfly-core
bingli-borland/wildfly-core
bmaxwell/wildfly-core
bobmcwhirter/wildfly-core
briehman/wildfly-core
broubach/wildfly-core
brunolitman/wildfly-core
bstansberry/wildfly-core
caikov/wildfly-core
ceharris/wildfly-core
chengfang/wildfly-core
cstroe/wildfly-core
ctomc/wildfly-core
cybernetics/wildfly-core
dandreadis/wildfly-core
darranl/wildfly-core
dbroeglin/wildfly-core
dehort/wildfly-core
distortedsignal/wildfly-core
dmlloyd/wildfly-core
doctau/wildfly-core
domtoupin/wildfly-core
doobrie/wildfly-core
dosoudil/wildfly-core
dpospisil/wildfly-core
ehsavoie/wildfly-core
elguardian/wildfly-core
emmartins/wildfly-core
emuckenhuber/wildfly-core
esantana/wildfly-core
eventis/wildfly-core
fbogyai/wildfly-core
fjuma/wildfly-core
fl4via/wildfly-core
forrestlv/wildfly-core
gaohoward/wildfly-core
gaol/wildfly-core
goldentarek/wildfly-core
golovnin/wildfly-core
grantwohl/wildfly-core
gunnarmorling/wildfly-core
gustavonv/wildfly-core
heiko-braun/wildfly-core
hkalina/wildfly-core
honza-kasik/wildfly-core
hpehl/wildfly-core
hradecek/wildfly-core
hsvabek/wildfly-core
istraka/wildfly-core
istudens/wildfly-core
ivassile/wildfly-core
iweiss/wildfly-core
jaikiran/wildfly-core
jamesmcabee/wildfly-core
jamezp/wildfly-core
jasinner/wildfly-core
jeffzhang/wildfly-core
jfdenise/wildfly-core
jharting/wildfly-core
jimma/wildfly-core
jmartisk/wildfly-core
jmazzitelli/wildfly-core
jmesnil/wildfly-core
jorsol/wildfly-core
jpkrohling/wildfly-core
jstourac/wildfly-core
jtymel/wildfly-core
jurakp/wildfly-core
kabir-ncl/wildfly-core
kabir/wildfly-core
kayceo/wildfly-core
kgeneral/wildfly-core
kwart/wildfly-core
kylape/wildfly-core
kylinsoong/wildfly-core
langfr/wildfly-core
luck3y/wildfly-core
maasvdberg/wildfly-core
maeste/wildfly-core
marcuscarvalho/wildfly-core
marekkopecky/wildfly-core
marschall/wildfly-core
martin-welss/wildfly-core
mattdrees/wildfly-core
mayankmittal1982/wildfly-core
mayerw/wildfly-core
mchoma/wildfly-core
mikefinn/wildfly-core
miteshmanani/wildfly-core
mkouba/wildfly-core
mmusaji/wildfly-core
mnovak1/wildfly-core
mschvarc/wildfly-core
msfm/wildfly-core
n1hility/wildfly-core
nekop/wildfly-core
nibin/wildfly-core
nuzayats/wildfly-core
nziakova/wildfly-core
objectiser/wildfly-core
oketels/wildfly-core
olukas/wildfly-core
onagano-rh/wildfly-core
oscerd/wildfly-core
ossnms/wildfly-core
panossot/wildfly-core
pedroigor/wildfly-core
pferraro/wildfly-core
pgier/wildfly-core
pietroaragona/wildfly-core
pilhuhn/wildfly-core
pk-codebox-evo/webserver-wildfly-core
pkdevboxy/wildfly-core
pkremens/wildfly-core
ppalaga/wildfly-core
ppetrou/wildfly-core
psakar/wildfly-core
psiroky/wildfly-core
pskopek/wildfly-core
rachmatowicz/wildfly-core
ramsperger/wildfly-core
ramsrib/wildfly-core
rarguello/wildfly-core
red-dev01/wildfly-core
rhatlapa/wildfly-core
rhusar/wildfly-core
rnetuka/wildfly-core
robstryker/wildfly-core
ropalka/wildfly-core
rpelisse/wildfly-core
rsvoboda/wildfly-core
ryanemerson/wildfly-core
scottmarlow/wildfly-core
sfcoy/wildfly-core
sgilda/wildfly-core
sguilhen/wildfly-core
shezhu/wildfly-core
siddharthgoel88/wildfly-core
simkam/wildfly-core
singhsurjeet/wildfly-core
slaskawi/wildfly-core
soapinc/wildfly-core
soul2zimate/wildfly-core
spolti/wildfly-core
spyrkob/wildfly-core
ssilvert/wildfly-core
stalep/wildfly-core
stoty/wildfly-core
stuartwdouglas/wildfly-core
subaochen/wildfly-core
tadamski/wildfly-core
tedwon/wildfly-core
thomasdarimont/wildfly-core
tobias/wildfly-core
treblereel/wildfly-core
tsegismont/wildfly-core
vpakan/wildfly-core
vtunka/wildfly-core
wbrefvem/wildfly-core
weebl2000/wildfly-core
wildfly-security-incubator/wildfly-core
wolfc/wildfly-core
wsaca/wildfly-core
xstefank/wildfly-core
yersan/wildfly-core
zhfeng/wildfly-core
Nothing to show
base: 2535d66
head repository: wildfly/wildfly-core
Choose a Head Repository
wildfly/wildfly-core
ASML-Labs/wildfly-core
Acidburn0zzz/wildfly-core
BenjaminLefoul/wildfly-core
BrentDouglas/wildfly-core
DouglasDeciccoT/wildfly-core
Gordiychuk/wildfly-core
IPreeti/wildfly-core
Jakarta-EE-Petclinic/wildfly-core
Kinlaw/wildfly-core
KrishnaKotari/wildfly-core
Ladicek/wildfly-core
Lerm/wildfly-core
OndrejKotek/wildfly-core
Richterrettich/wildfly-core
Sanne/wildfly-core
SirLoxley/wildfly-core
The-Alchemist/wildfly-core
TomasHofman/wildfly-core
WebJustDevelopment/wildfly-core
Yuan-Hu/wildfly-core
adrianoschmidt/wildfly-core
alesj/wildfly-core
aloubyansky/wildfly-core
altanis/wildfly-core
andreabattaglia/wildfly-core
aogburn/wildfly-core
aparnachaudhary/wildfly-core
aparra/wildfly-core
arcivanov/wildfly-core
asoldano/wildfly-core
bagges/wildfly-core
baranowb/wildfly-core
bayern39/wildfly-core
bgaisford/wildfly-core
bingli-borland/wildfly-core
bmaxwell/wildfly-core
bobmcwhirter/wildfly-core
briehman/wildfly-core
broubach/wildfly-core
brunolitman/wildfly-core
bstansberry/wildfly-core
caikov/wildfly-core
ceharris/wildfly-core
chengfang/wildfly-core
cstroe/wildfly-core
ctomc/wildfly-core
cybernetics/wildfly-core
dandreadis/wildfly-core
darranl/wildfly-core
dbroeglin/wildfly-core
dehort/wildfly-core
distortedsignal/wildfly-core
dmlloyd/wildfly-core
doctau/wildfly-core
domtoupin/wildfly-core
doobrie/wildfly-core
dosoudil/wildfly-core
dpospisil/wildfly-core
ehsavoie/wildfly-core
elguardian/wildfly-core
emmartins/wildfly-core
emuckenhuber/wildfly-core
esantana/wildfly-core
eventis/wildfly-core
fbogyai/wildfly-core
fjuma/wildfly-core
fl4via/wildfly-core
forrestlv/wildfly-core
gaohoward/wildfly-core
gaol/wildfly-core
goldentarek/wildfly-core
golovnin/wildfly-core
grantwohl/wildfly-core
gunnarmorling/wildfly-core
gustavonv/wildfly-core
heiko-braun/wildfly-core
hkalina/wildfly-core
honza-kasik/wildfly-core
hpehl/wildfly-core
hradecek/wildfly-core
hsvabek/wildfly-core
istraka/wildfly-core
istudens/wildfly-core
ivassile/wildfly-core
iweiss/wildfly-core
jaikiran/wildfly-core
jamesmcabee/wildfly-core
jamezp/wildfly-core
jasinner/wildfly-core
jeffzhang/wildfly-core
jfdenise/wildfly-core
jharting/wildfly-core
jimma/wildfly-core
jmartisk/wildfly-core
jmazzitelli/wildfly-core
jmesnil/wildfly-core
jorsol/wildfly-core
jpkrohling/wildfly-core
jstourac/wildfly-core
jtymel/wildfly-core
jurakp/wildfly-core
kabir-ncl/wildfly-core
kabir/wildfly-core
kayceo/wildfly-core
kgeneral/wildfly-core
kwart/wildfly-core
kylape/wildfly-core
kylinsoong/wildfly-core
langfr/wildfly-core
luck3y/wildfly-core
maasvdberg/wildfly-core
maeste/wildfly-core
marcuscarvalho/wildfly-core
marekkopecky/wildfly-core
marschall/wildfly-core
martin-welss/wildfly-core
mattdrees/wildfly-core
mayankmittal1982/wildfly-core
mayerw/wildfly-core
mchoma/wildfly-core
mikefinn/wildfly-core
miteshmanani/wildfly-core
mkouba/wildfly-core
mmusaji/wildfly-core
mnovak1/wildfly-core
mschvarc/wildfly-core
msfm/wildfly-core
n1hility/wildfly-core
nekop/wildfly-core
nibin/wildfly-core
nuzayats/wildfly-core
nziakova/wildfly-core
objectiser/wildfly-core
oketels/wildfly-core
olukas/wildfly-core
onagano-rh/wildfly-core
oscerd/wildfly-core
ossnms/wildfly-core
panossot/wildfly-core
pedroigor/wildfly-core
pferraro/wildfly-core
pgier/wildfly-core
pietroaragona/wildfly-core
pilhuhn/wildfly-core
pk-codebox-evo/webserver-wildfly-core
pkdevboxy/wildfly-core
pkremens/wildfly-core
ppalaga/wildfly-core
ppetrou/wildfly-core
psakar/wildfly-core
psiroky/wildfly-core
pskopek/wildfly-core
rachmatowicz/wildfly-core
ramsperger/wildfly-core
ramsrib/wildfly-core
rarguello/wildfly-core
red-dev01/wildfly-core
rhatlapa/wildfly-core
rhusar/wildfly-core
rnetuka/wildfly-core
robstryker/wildfly-core
ropalka/wildfly-core
rpelisse/wildfly-core
rsvoboda/wildfly-core
ryanemerson/wildfly-core
scottmarlow/wildfly-core
sfcoy/wildfly-core
sgilda/wildfly-core
sguilhen/wildfly-core
shezhu/wildfly-core
siddharthgoel88/wildfly-core
simkam/wildfly-core
singhsurjeet/wildfly-core
slaskawi/wildfly-core
soapinc/wildfly-core
soul2zimate/wildfly-core
spolti/wildfly-core
spyrkob/wildfly-core
ssilvert/wildfly-core
stalep/wildfly-core
stoty/wildfly-core
stuartwdouglas/wildfly-core
subaochen/wildfly-core
tadamski/wildfly-core
tedwon/wildfly-core
thomasdarimont/wildfly-core
tobias/wildfly-core
treblereel/wildfly-core
tsegismont/wildfly-core
vpakan/wildfly-core
vtunka/wildfly-core
wbrefvem/wildfly-core
weebl2000/wildfly-core
wildfly-security-incubator/wildfly-core
wolfc/wildfly-core
wsaca/wildfly-core
xstefank/wildfly-core
yersan/wildfly-core
zhfeng/wildfly-core
Nothing to show
compare: aadd115
  • 2 commits
  • 5 files changed
  • 0 commit comments
  • 2 contributors
Commits on Apr 09, 2019
Commits on Apr 17, 2019
WFCORE-3891: ensure unique names for default formatters
@@ -57,6 +57,8 @@

public static final String NAME = "pattern-formatter";

public static final String DEFAULT_FORMATTER_SUFFIX = "-wfcore-pattern-formatter";

// Pattern formatter options
public static final PropertyAttributeDefinition COLOR_MAP = PropertyAttributeDefinition.Builder.of("color-map", ModelType.STRING)
.setAllowExpression(true)
@@ -111,6 +113,9 @@ public boolean isMarshallable(final AttributeDefinition attribute, final ModelNo
@Override
public void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
final String name = context.getCurrentAddressValue();
if (name.endsWith(DEFAULT_FORMATTER_SUFFIX)) {
throw LoggingLogger.ROOT_LOGGER.illegalFormatterName();
}
FormatterConfiguration configuration = logContextConfiguration.getFormatterConfiguration(name);
if (configuration == null) {
LoggingLogger.ROOT_LOGGER.tracef("Adding formatter '%s' at '%s'", name, context.getCurrentAddress());
@@ -369,6 +369,9 @@ public void performRuntime(final OperationContext context, final ModelNode opera
}

final String name = context.getCurrentAddressValue();
if (name.endsWith(PatternFormatterResourceDefinition.DEFAULT_FORMATTER_SUFFIX)) {
throw LoggingLogger.ROOT_LOGGER.illegalFormatterName();
}
FormatterConfiguration configuration = logContextConfiguration.getFormatterConfiguration(name);
final String className = type.getName();

@@ -58,6 +58,7 @@
import org.jboss.as.logging.Filters;
import org.jboss.as.logging.Logging;
import org.jboss.as.logging.LoggingOperations;
import org.jboss.as.logging.formatters.PatternFormatterResourceDefinition;
import org.jboss.as.logging.loggers.RootLoggerResourceDefinition;
import org.jboss.as.logging.logging.LoggingLogger;
import org.jboss.as.logging.logmanager.Log4jAppenderHandler;
@@ -621,39 +622,40 @@ private static void handleProperty(final AttributeDefinition attribute, final Op
configuration.setEncoding(resolvedValue);
} else if (attribute.getName().equals(FORMATTER.getName())) {
// The handler name will be used for the name of a formatter for the formatter attribute
final String handlerName = configuration.getName();
final String defaultFormatterName = configuration.getName() + PatternFormatterResourceDefinition.DEFAULT_FORMATTER_SUFFIX;
// Get the current model and check for a defined named-formatter attribute
final Resource resource = context.readResource(PathAddress.EMPTY_ADDRESS);
final ModelNode m = resource.getModel();
if (m.hasDefined(NAMED_FORMATTER.getName())) {
// If a named-formatter exists in the model and a formatter already exists with the name of the handler
// remove the formatter
if (logContextConfiguration.getFormatterNames().contains(handlerName)) {
logContextConfiguration.removeFormatterConfiguration(handlerName);
if (logContextConfiguration.getFormatterNames().contains(defaultFormatterName)) {
logContextConfiguration.removeFormatterConfiguration(defaultFormatterName);
}
} else {
// Create a formatter based on the handlers name
final FormatterConfiguration fmtConfig;
if (logContextConfiguration.getFormatterNames().contains(handlerName)) {
fmtConfig = logContextConfiguration.getFormatterConfiguration(handlerName);
if (logContextConfiguration.getFormatterNames().contains(defaultFormatterName)) {
fmtConfig = logContextConfiguration.getFormatterConfiguration(defaultFormatterName);
} else {
fmtConfig = logContextConfiguration.addFormatterConfiguration(null, PatternFormatter.class.getName(), handlerName, PATTERN.getPropertyName());
fmtConfig = logContextConfiguration.addFormatterConfiguration(null, PatternFormatter.class.getName(), defaultFormatterName, PATTERN.getPropertyName());
}
final String resolvedValue = (resolveValue ? FORMATTER.resolvePropertyValue(context, model) : model.asString());
fmtConfig.setPropertyValueString(PATTERN.getPropertyName(), resolvedValue);
configuration.setFormatterName(handlerName);
configuration.setFormatterName(defaultFormatterName);
}
} else if (attribute.getName().equals(NAMED_FORMATTER.getName())) {
// The name of the handler will be used for a "formatter" if the named-formatter is not defined
final String handlerName = configuration.getName();
final String defaultFormatterName = handlerName + PatternFormatterResourceDefinition.DEFAULT_FORMATTER_SUFFIX;
final ModelNode valueNode = (resolveValue ? NAMED_FORMATTER.resolveModelAttribute(context, model) : model);
// Set the formatter if the value is defined
if (valueNode.isDefined()) {
final String resolvedValue = valueNode.asString();
configuration.setFormatterName(resolvedValue);
// If the formatter was previously defined by the formatter attribute, remove the formatter
if (logContextConfiguration.getFormatterNames().contains(handlerName)) {
logContextConfiguration.removeFormatterConfiguration(handlerName);
if (logContextConfiguration.getFormatterNames().contains(defaultFormatterName)) {
logContextConfiguration.removeFormatterConfiguration(defaultFormatterName);
}
} else if (configuration.getClassName().equals(SyslogHandler.class.getName())) {
// The value shouldn't be defined so we want to remove the current formatter, however a null formatter
@@ -668,15 +670,15 @@ private static void handleProperty(final AttributeDefinition attribute, final Op
} else {
// If the named-formatter was undefined we need to create a formatter based on the formatter attribute
final FormatterConfiguration fmtConfig;
if (logContextConfiguration.getFormatterNames().contains(handlerName)) {
fmtConfig = logContextConfiguration.getFormatterConfiguration(handlerName);
if (logContextConfiguration.getFormatterNames().contains(defaultFormatterName)) {
fmtConfig = logContextConfiguration.getFormatterConfiguration(defaultFormatterName);
} else {
fmtConfig = logContextConfiguration.addFormatterConfiguration(null, PatternFormatter.class.getName(), handlerName, PATTERN.getPropertyName());
fmtConfig = logContextConfiguration.addFormatterConfiguration(null, PatternFormatter.class.getName(), defaultFormatterName, PATTERN.getPropertyName());
}
// Get the current model and set the value of the formatter based on the formatter attribute
final Resource resource = context.readResource(PathAddress.EMPTY_ADDRESS);
fmtConfig.setPropertyValueString(PATTERN.getPropertyName(), FORMATTER.resolvePropertyValue(context, resource.getModel()));
configuration.setFormatterName(handlerName);
configuration.setFormatterName(defaultFormatterName);
}
} else if (attribute.getName().equals(FILTER_SPEC.getName())) {
final ModelNode valueNode = (resolveValue ? FILTER_SPEC.resolveModelAttribute(context, model) : model);
@@ -33,6 +33,7 @@
import org.jboss.as.controller.OperationFailedException;
import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.registry.Resource;
import org.jboss.as.logging.formatters.PatternFormatterResourceDefinition;
import org.jboss.as.server.deployment.DeploymentUnitProcessingException;
import org.jboss.as.server.deployment.module.ResourceRoot;
import org.jboss.logging.BasicLogger;
@@ -976,4 +977,12 @@
*/
@Message(id = 93, value = "Failed to configure SSL context for %s %s.")
OperationFailedException failedToConfigureSslContext(@Cause Throwable cause, String resourceName, String resourceValue);

/**
* Creates an exception indicating a formatter is using a reserved name.
*
* @return an {@link OperationFailedException} for the error
*/
@Message(id = 94, value = "Formatter name cannot end with '" + PatternFormatterResourceDefinition.DEFAULT_FORMATTER_SUFFIX + "'")
OperationFailedException illegalFormatterName();
}
@@ -216,6 +216,7 @@ public void testFormatsNoColor() throws Exception {
public void testCompositeOperations() {
final ModelNode address = createFileHandlerAddress("FILE").toModelNode();
final String filename = "test-file.log";
final String defaultFormatterName = "FILE" + PatternFormatterResourceDefinition.DEFAULT_FORMATTER_SUFFIX;

// Add the handler
ModelNode addOp = OperationBuilder.createAddOperation(address)
@@ -237,18 +238,18 @@ public void testCompositeOperations() {
// Get the log context configuration to validate what has been configured
final LogContextConfiguration configuration = ConfigurationPersistence.getConfigurationPersistence(LogContext.getLogContext());
assertNotNull("Expected to find the configuration", configuration);
assertFalse("Expected the default formatter named FILE to be removed for the handler FILE",
configuration.getFormatterNames().contains("FILE"));
assertFalse("Expected the default formatter named " + defaultFormatterName + " to be removed for the handler FILE",
configuration.getFormatterNames().contains(defaultFormatterName));
final HandlerConfiguration handlerConfiguration = configuration.getHandlerConfiguration("FILE");
assertNotNull("Expected to find the configuration for the FILE handler", configuration);
assertEquals("Expected the handler named FILE to use the PATTERN formatter", "PATTERN",
handlerConfiguration.getFormatterName());

// Undefine the named-formatter to ensure a formatter is created
executeOperation(kernelServices, SubsystemOperations.createUndefineAttributeOperation(address, "named-formatter"));
assertTrue("Expected the default formatter named FILE to be added",
configuration.getFormatterNames().contains("FILE"));
assertEquals("Expected the handler named FILE to use the FILE formatter", "FILE",
assertTrue("Expected the default formatter named " + defaultFormatterName + " to be added",
configuration.getFormatterNames().contains(defaultFormatterName));
assertEquals("Expected the handler named FILE to use the FILE formatter", defaultFormatterName,
handlerConfiguration.getFormatterName());
}

No commit comments for this range

You can’t perform that action at this time.