View Javadoc
1   /**
2    * Logback: the reliable, generic, fast and flexible logging framework.
3    * Copyright (C) 1999-2015, QOS.ch. All rights reserved.
4    *
5    * This program and the accompanying materials are dual-licensed under
6    * either the terms of the Eclipse Public License v1.0 as published by
7    * the Eclipse Foundation
8    *
9    *   or (per the licensee's choosing)
10   *
11   * under the terms of the GNU Lesser General Public License version 2.1
12   * as published by the Free Software Foundation.
13   */
14  package ch.qos.logback.classic.net.testObjectBuilders;
15  
16  import ch.qos.logback.classic.Level;
17  import ch.qos.logback.classic.Logger;
18  import ch.qos.logback.classic.LoggerContext;
19  import ch.qos.logback.classic.spi.LoggingEvent;
20  
21  public class LoggingEventWithParametersBuilder implements Builder<LoggingEvent> {
22  
23      final String MSG = "aaaaabbbbbcccc {} cdddddaaaaabbbbbcccccdddddaaaa {}";
24  
25      LoggerContext loggerContext = new LoggerContext();
26      private Logger logger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
27  
28      public LoggingEvent build(int i) {
29  
30          LoggingEvent le = new LoggingEvent();
31          le.setTimeStamp(System.currentTimeMillis());
32  
33          Object[] aa = new Object[] { i, "HELLO WORLD [========== ]" + i };
34  
35          le.setArgumentArray(aa);
36          String msg = MSG + i;
37          le.setMessage(msg);
38  
39          // compute formatted message
40          // this forces le.formmatedMessage to be set (this is the whole point of the
41          // exercise)
42          le.getFormattedMessage();
43          le.setLevel(Level.DEBUG);
44          le.setLoggerName(logger.getName());
45          le.setLoggerContextRemoteView(loggerContext.getLoggerContextRemoteView());
46          le.setThreadName("threadName");
47          return le;
48      }
49  }