java copyof 用法_Java MDC.getCopyOfContextMap方法代码示例

import org.slf4j.MDC; //导入方法依赖的package包/类

@Override

@SuppressWarnings("unchecked")

public String format(final LogRecord record) {

// Reset working buffer. If the buffer is too large, then we need a new

// one in order to avoid the penalty of creating a large array.

if (buf.capacity() > UPPER_LIMIT) {

buf = new StringBuffer(DEFAULT_SIZE);

} else {

buf.setLength(0);

}

buf.append("

buf.append(Transform.escapeTags(record.getLoggerName()));

buf.append("\" timestamp=\"");

buf.append(record.getMillis());

buf.append("\" level=\"");

buf.append(Transform.escapeTags(record.getLevel().getName()));

buf.append("\" thread=\"");

buf.append(String.valueOf(record.getThreadID()));

buf.append("\">\r\n");

buf.append("

// Append the rendered message. Also make sure to escape any

// existing CDATA sections.

Transform.appendEscapingCDATA(buf, record.getMessage());

buf.append("]]>

\r\n");

if (record.getThrown() != null) {

String[] s = Transform.getThrowableStrRep(record.getThrown());

if (s != null) {

buf.append("

for (String value : s) {

Transform.appendEscapingCDATA(buf, value);

buf.append("\r\n");

}

buf.append("]]>

\r\n");

}

}

if (locationInfo) {

buf.append("

buf.append(Transform.escapeTags(record.getSourceClassName()));

buf.append("\" method=\"");

buf.append(Transform.escapeTags(record.getSourceMethodName()));

buf.append("\" file=\"?\" line=\"?\"/>\r\n");

}

if (properties) {

Map contextMap = MDC.getCopyOfContextMap();

if (contextMap != null) {

Set keySet = contextMap.keySet();

if ((keySet != null) && (keySet.size() > 0)) {

buf.append("\r\n");

Object[] keys = keySet.toArray();

Arrays.sort(keys);

for (Object key1 : keys) {

String key = (key1 == null ? "" : key1.toString());

Object val = contextMap.get(key);

if (val != null) {

buf.append("

buf.append(Transform.escapeTags(key));

buf.append("\" value=\"");

buf.append(Transform.escapeTags(String.valueOf(val)));

buf.append("\"/>\r\n");

}

}

buf.append("\r\n");

}

}

}

buf.append("

\r\n\r\n");

return buf.toString();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值