当前位置: 首页>>代码示例>>Java>>正文


Java LogEvent.getContextStack方法代码示例

本文整理汇总了Java中org.apache.logging.log4j.core.LogEvent.getContextStack方法的典型用法代码示例。如果您正苦于以下问题:Java LogEvent.getContextStack方法的具体用法?Java LogEvent.getContextStack怎么用?Java LogEvent.getContextStack使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.logging.log4j.core.LogEvent的用法示例。


在下文中一共展示了LogEvent.getContextStack方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: resolve

import org.apache.logging.log4j.core.LogEvent; //导入方法依赖的package包/类
@Override
public JsonNode resolve(TemplateResolverContext context, LogEvent logEvent, String key) {
    ThreadContext.ContextStack contextStack = logEvent.getContextStack();
    if (contextStack.getDepth() == 0) {
        return null;
    }
    Pattern itemPattern = context.getNdcPattern();
    ArrayNode contextStackNode = context.getObjectMapper().createArrayNode();
    for (String contextStackItem : contextStack.asList()) {
        boolean matches = itemPattern == null || itemPattern.matcher(contextStackItem).matches();
        if (matches) {
            contextStackNode.add(contextStackItem);
        }
    }
    return contextStackNode;
}
 
开发者ID:vy,项目名称:log4j2-logstash-layout,代码行数:17,代码来源:ContextStackResolver.java

示例2: toSerializable

import org.apache.logging.log4j.core.LogEvent; //导入方法依赖的package包/类
public String toSerializable(LogEvent event) {
	StringBuilder builder = new StringBuilder();
	
       builder.append(OBJ_S);
       addField(builder,"@timestamp",ISO_DATETIME_TIME_ZONE_FORMAT_WITH_MILLIS.format(event.getTimeMillis()));
       
       if(event!=null){
        addField(builder,"logger_name", event.getLoggerName());
        
        if(event.getLevel()!=null){
        	addField(builder,"level", event.getLevel().name());
        	addField(builder,"level_int", event.getLevel().intLevel());
        }
        
        addField(builder,"thread_name", event.getThreadName());
        addField(builder,"source_host", getHostName());
        addField(builder,"source_ip", getHostIP());
        
        if(event.getMessage()!=null){
        	addField(builder,"message", event.getMessage().getFormattedMessage());
        }
        
        if (event.getThrown() !=null){
        	addField(builder,"exception",event.getThrown());
        }
        
        if (locationInfo) {
        	 addField(builder,"file",event.getSource().getFileName());
        	 addField(builder,"line_number",event.getSource().getLineNumber());
        	 addField(builder,"class",event.getSource().getClassName());
        	 addField(builder,"method",event.getSource().getMethodName());
        }
        
        if(event.getContextStack()!=null) {
        	addField(builder,"contextStack",event.getContextStack());
        }
        
        if(event.getContextMap()!=null) {
        	if(plainContextMap){
        		for(Entry<String,String> entry: event.getContextMap().entrySet()){
        			addField(builder,entry.getKey(),entry.getValue());
        		}
        	}else{
        		addField(builder,"contextMap",event.getContextMap());
        	}
        }
        
        if(userFields!=null){
        	for(UserField userField : userFields){
        		addField(builder,userField.getKey(),userField.getValue());
        	}
        }
       }
       addField(builder,"@version",VERSION,false);
       builder.append(OBJ_E);
       builder.append("\n");
	return builder.toString();
}
 
开发者ID:dubasdey,项目名称:log4j2-jsonevent-layout,代码行数:59,代码来源:JSONLog4j2Layout.java


注:本文中的org.apache.logging.log4j.core.LogEvent.getContextStack方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。