Skip to content

Instantly share code, notes, and snippets.

@ceki
Created June 27, 2012 21:56
Show Gist options
  • Save ceki/3007120 to your computer and use it in GitHub Desktop.
Save ceki/3007120 to your computer and use it in GitHub Desktop.
package chapters.appenders.socket;
import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.net.SocketAppender;
import ch.qos.logback.core.status.OnConsoleStatusListener;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/**
* Created with IntelliJ IDEA. User: ceki Date: 27.06.12 Time: 19:35 To change
* this template use File | Settings | File Templates.
*/
public class ConsolePluginClient {
static public void main(String[] args) throws Exception {
// Create a SocketAppender connected to hostname:port with a
// reconnection delay of 10000 seconds.
String hostname = "localhost";
int port = 4321;
SocketAppender socketAppender = new SocketAppender();
socketAppender.setRemoteHost(hostname);
socketAppender.setPort(port);
socketAppender.setIncludeCallerData(true);
socketAppender.setReconnectionDelay(10000);
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
socketAppender.setContext(lc);
lc.getStatusManager().add(new OnConsoleStatusListener());
// SocketAppender options become active only after the execution
// of the next statement.
socketAppender.start();
Logger logger = (Logger) LoggerFactory
.getLogger(ConsolePluginClient.class);
logger.addAppender(socketAppender);
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
for (int i = 0; i > 10; i++) {
if (i % 3 == 0) {
logger.warn(i + " is divisible by 3");
} else {
logger.warn("this is message number " + i);
}
}
logger.error("this is an exception", new Exception("test"));
while (true) {
System.out.println("Type a message to send to log server at "
+ hostname + ":" + port + ". Type 'q' to quit.");
String s = reader.readLine();
if (s.equals("q")) {
break;
} else {
logger.debug(s);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment