001/** 002 * Logback: the reliable, generic, fast and flexible logging framework. 003 * Copyright (C) 1999-2015, QOS.ch. All rights reserved. 004 * 005 * This program and the accompanying materials are dual-licensed under 006 * either the terms of the Eclipse Public License v1.0 as published by 007 * the Eclipse Foundation 008 * 009 * or (per the licensee's choosing) 010 * 011 * under the terms of the GNU Lesser General Public License version 2.1 012 * as published by the Free Software Foundation. 013 */ 014package ch.qos.logback.classic.pattern; 015 016import java.util.List; 017 018import org.slf4j.Marker; 019 020import ch.qos.logback.classic.spi.ILoggingEvent; 021 022/** 023 * Return the event's marker value(s). 024 * 025 * @author Sébastien Pennec 026 */ 027public class MarkerConverter extends ClassicConverter { 028 029 private static String EMPTY = ""; 030 031 public String convert(ILoggingEvent le) { 032 List<Marker> markers = le.getMarkerList(); 033 if (markers == null || markers.isEmpty()) { 034 return EMPTY; 035 } 036 int size = markers.size(); 037 038 if (size == 1) 039 return markers.get(0).toString(); 040 041 StringBuffer buf = new StringBuffer(32); 042 for (int i = 0; i < size; i++) { 043 if (i != 0) 044 buf.append(' '); 045 Marker m = markers.get(i); 046 buf.append(m.toString()); 047 } 048 return buf.toString(); 049 050 } 051 052}