/*
* Copyright (c) 2014 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.management.jmx.logging;
import org.apache.log4j.PatternLayout;
public final class ViPRHeaderPatternLayout extends PatternLayout {
private IdentifierManager identifierManager = IdentifierManager.getInstance();
private final String NEW_LINE = System.getProperty("line.separator");
public static final char HEADER_START_INDICATOR = '@';
public static final int HEADER_START_LENGTH = 90;
@Override
public String getHeader() {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < HEADER_START_LENGTH; i++) {
sb.append(HEADER_START_INDICATOR);
}
sb.append(System.currentTimeMillis());
sb.append(NEW_LINE);
addLine(sb, "Product", identifierManager.findProductIdent());
addLine(sb, "Product Base", identifierManager.findProductBase());
addLine(sb, "Git Repository", identifierManager.findGitRepo());
addLine(sb, "Git Branch", identifierManager.findGitBranch());
addLine(sb, "Git Revision", identifierManager.findGitRevision());
addLine(sb, "Platform", identifierManager.findPlatform());
addLine(sb, "Kernel Version", identifierManager.findKernelVersion());
addLine(sb, "IP Address", identifierManager.findIpAddress());
return sb.toString();
}
private void addLine(StringBuffer sb, String title, String value) {
sb.append(title);
sb.append(": ");
sb.append(value);
sb.append(NEW_LINE);
}
}