@Override public void log(LogMessage request, StreamObserver<EmptyMessage> responseObserver) { try { // FIXME put these in Cassandra and render in central UI LogEvent logEvent = request.getLogEvent(); Proto.Throwable t = logEvent.getThrowable(); if (t == null) { logger.warn( "{} -- {} -- {} -- {}", request.getServerId(), logEvent.getLevel(), logEvent.getLoggerName(), logEvent.getFormattedMessage()); } else { logger.warn( "{} -- {} -- {} -- {}\n{}", request.getServerId(), logEvent.getLevel(), logEvent.getLoggerName(), logEvent.getFormattedMessage(), t); } } catch (Throwable t) { responseObserver.onError(t); return; } responseObserver.onNext(EmptyMessage.getDefaultInstance()); responseObserver.onCompleted(); }