
org.ow2.petals.log.formatter.BasicLogDataAppender Maven / Gradle / Ivy
/**
* Copyright (c) 2010-2012 EBM WebSourcing, 2012-2016 Linagora
*
* This program/library is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 2.1 of the License, or (at your
* option) any later version.
*
* This program/library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program/library; If not, see http://www.gnu.org/licenses/
* for the GNU Lesser General Public License version 2.1.
*/
package org.ow2.petals.log.formatter;
import java.lang.reflect.Array;
import java.util.Map;
import org.ow2.petals.commons.log.FlowLogData;
public class BasicLogDataAppender implements LogDataAppender {
/**
* The extra parameter associated to payload content of the message exchange
* has not to be printed.
*/
@Override
public boolean canAppend(final Map logData, final String dataKey, final Object value) {
assert logData != null;
assert dataKey != null;
return !dataKey.equals(FlowLogData.FLOW_EXCHANGE_PROPERTY_NAME);
}
@Override
public void append(final StringBuilder outBuffer, final Map logData, final String dataKey,
final Object value) {
outBuffer.append(dataKey).append(" = ");
if (value == null) {
outBuffer.append("null");
} else if (value.getClass().isArray()) {
outBuffer.append("'");
int len = Array.getLength(value);
for (int i = 0; i < len; ++i) {
outBuffer.append(String.valueOf(Array.get(value, i)));
if (i != len - 1)
outBuffer.append(", ");
}
outBuffer.append("'");
} else {
outBuffer.append("'").append(String.valueOf(value)).append("'");
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy