View Javadoc

1   /**
2    * Logback: the reliable, generic, fast and flexible logging framework.
3    * Copyright (C) 1999-2011, 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  
26    String syslogHost;
27    int port;
28    
29    public ResilientSyslogOutputStream(String syslogHost, int port)
30        throws UnknownHostException, SocketException {
31      this.syslogHost = syslogHost;
32      this.port = port;
33      super.os = new SyslogOutputStream(syslogHost, port);
34      this.presumedClean = true;
35    }
36  
37    @Override
38    String getDescription() {
39      return "syslog ["+syslogHost+":"+port+"]";
40    }
41  
42    @Override
43    OutputStream openNewOutputStream() throws IOException {
44      return  new SyslogOutputStream(syslogHost, port);
45    }
46    
47    @Override
48    public String toString() {
49      return "c.q.l.c.recovery.ResilientSyslogOutputStream@"
50          + System.identityHashCode(this);
51    }
52  
53  }