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.core.recovery;
15  
16  import java.io.IOException;
17  import java.io.OutputStream;
18  import java.net.SocketException;
19  import java.net.UnknownHostException;
20  
21  import ch.qos.logback.core.net.SyslogOutputStream;
22  
23  public class ResilientSyslogOutputStream extends ResilientOutputStreamBase {
24  
25      String syslogHost;
26      int port;
27  
28      public ResilientSyslogOutputStream(String syslogHost, int port) throws UnknownHostException, SocketException {
29          this.syslogHost = syslogHost;
30          this.port = port;
31          super.os = new SyslogOutputStream(syslogHost, port);
32          this.presumedClean = true;
33      }
34  
35      @Override
36      String getDescription() {
37          return "syslog [" + syslogHost + ":" + port + "]";
38      }
39  
40      @Override
41      OutputStream openNewOutputStream() throws IOException {
42          return new SyslogOutputStream(syslogHost, port);
43      }
44  
45      @Override
46      public String toString() {
47          return "c.q.l.c.recovery.ResilientSyslogOutputStream@" + System.identityHashCode(this);
48      }
49  
50  }