Less excessive logging and other logging related cleanups
This commit is contained in:
@@ -87,7 +87,6 @@ public abstract class LaunguageServerApp {
|
||||
Connection connection = null;
|
||||
try {
|
||||
LoggingFormat.startLogging();
|
||||
|
||||
connection = connectToNode();
|
||||
|
||||
run(connection);
|
||||
@@ -110,17 +109,8 @@ public abstract class LaunguageServerApp {
|
||||
InputStream in = socket.getInputStream();
|
||||
OutputStream out = socket.getOutputStream();
|
||||
|
||||
OutputStream intercept = new OutputStream() {
|
||||
|
||||
@Override
|
||||
public void write(int b) throws IOException {
|
||||
out.write(b);
|
||||
}
|
||||
};
|
||||
|
||||
LOG.info("Connected to parent using socket on port " + port);
|
||||
|
||||
return new Connection(in, intercept, socket);
|
||||
return new Connection(in, out, socket);
|
||||
}
|
||||
else {
|
||||
InputStream in = System.in;
|
||||
@@ -147,7 +137,6 @@ public abstract class LaunguageServerApp {
|
||||
Function<MessageConsumer, MessageConsumer> wrapper = (MessageConsumer consumer) -> {
|
||||
return (msg) -> {
|
||||
try {
|
||||
LOG.info(""+msg);
|
||||
consumer.consume(msg);
|
||||
} catch (UnsupportedOperationException e) {
|
||||
//log a warning and ignore. We are getting some messages from vsCode the server doesn't know about
|
||||
|
||||
@@ -5,63 +5,67 @@ import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.time.Instant;
|
||||
import java.util.StringJoiner;
|
||||
import java.util.logging.*;
|
||||
import java.util.logging.Formatter;
|
||||
import java.util.logging.Handler;
|
||||
import java.util.logging.LogRecord;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class LoggingFormat extends Formatter {
|
||||
public static ThreadLocal<Integer> request = new ThreadLocal<>();
|
||||
public static ThreadLocal<Integer> request = new ThreadLocal<>();
|
||||
|
||||
@Override
|
||||
public String format(LogRecord record) {
|
||||
StringJoiner joiner = new StringJoiner("\t");
|
||||
@Override
|
||||
public String format(LogRecord record) {
|
||||
StringJoiner joiner = new StringJoiner("\t");
|
||||
|
||||
joiner.add(record.getLevel().getName());
|
||||
joiner.add(requestAsString());
|
||||
joiner.add(Thread.currentThread().getName());
|
||||
joiner.add(Instant.ofEpochMilli(record.getMillis()).toString());
|
||||
// joiner.add(record.getLoggerName());
|
||||
joiner.add(record.getSourceClassName() + "#" + record.getSourceMethodName());
|
||||
joiner.add(record.getMessage());
|
||||
joiner.add(record.getLevel().getName());
|
||||
joiner.add(requestAsString());
|
||||
joiner.add(Thread.currentThread().getName());
|
||||
joiner.add(Instant.ofEpochMilli(record.getMillis()).toString());
|
||||
// joiner.add(record.getLoggerName());
|
||||
joiner.add(record.getSourceClassName() + "#" + record.getSourceMethodName());
|
||||
joiner.add(record.getMessage());
|
||||
|
||||
String result = joiner.toString() + "\n";
|
||||
String result = joiner.toString() + "\n";
|
||||
|
||||
Throwable thrown = record.getThrown();
|
||||
Throwable thrown = record.getThrown();
|
||||
|
||||
if (thrown != null) {
|
||||
StringWriter stackTrace = new StringWriter();
|
||||
PrintWriter print = new PrintWriter(stackTrace);
|
||||
if (thrown != null) {
|
||||
StringWriter stackTrace = new StringWriter();
|
||||
PrintWriter print = new PrintWriter(stackTrace);
|
||||
|
||||
thrown.printStackTrace(print);
|
||||
print.flush();
|
||||
thrown.printStackTrace(print);
|
||||
print.flush();
|
||||
|
||||
result = result + stackTrace + "\n";
|
||||
}
|
||||
result = result + stackTrace + "\n";
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private CharSequence requestAsString() {
|
||||
Integer i = request.get();
|
||||
private CharSequence requestAsString() {
|
||||
Integer i = request.get();
|
||||
|
||||
if (i == null)
|
||||
return "?";
|
||||
else
|
||||
return Integer.toString(i);
|
||||
}
|
||||
if (i == null)
|
||||
return "?";
|
||||
else
|
||||
return Integer.toString(i);
|
||||
}
|
||||
|
||||
private static boolean started = false;
|
||||
private static boolean started = false;
|
||||
|
||||
public static void startLogging() throws IOException {
|
||||
if (!started) {
|
||||
started = true;
|
||||
public static void startLogging() throws IOException {
|
||||
if (!started) {
|
||||
started = true;
|
||||
|
||||
Logger root = Logger.getLogger("");
|
||||
Logger root = Logger.getLogger("");
|
||||
// for (Handler h : ImmutableList.copyOf(root.getHandlers())) {
|
||||
// root.removeHandler(h);
|
||||
// }
|
||||
// FileHandler file = new FileHandler("sts4-extension.%g.log", 100_000, 1, false);
|
||||
// root.addHandler(file);
|
||||
|
||||
FileHandler file = new FileHandler("javac-services.%g.log", 100_000, 1, false);
|
||||
|
||||
root.addHandler(file);
|
||||
|
||||
for (Handler h : root.getHandlers())
|
||||
h.setFormatter(new LoggingFormat());
|
||||
}
|
||||
}
|
||||
for (Handler h : root.getHandlers())
|
||||
h.setFormatter(new LoggingFormat());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user