in invoker/core/src/main/java/com/google/cloud/functions/invoker/gcf/JsonLogHandler.java [94:109]
private static void appendSourceLocation(StringBuilder json, LogRecord record) {
if (record.getSourceClassName() == null && record.getSourceMethodName() == null) {
return;
}
List<String> entries = new ArrayList<>();
if (record.getSourceClassName() != null) {
// TODO: Handle nested classes. If the source class name is com.example.Foo$Bar then the
// source file is com/example/Foo.java, not com/example/Foo$Bar.java.
String fileName = record.getSourceClassName().replace('.', '/') + ".java";
entries.add("\"file\": \"" + escapeString(fileName) + "\"");
}
if (record.getSourceMethodName() != null) {
entries.add("\"method\": \"" + escapeString(record.getSourceMethodName()) + "\"");
}
json.append(SOURCE_LOCATION_KEY).append("{").append(String.join(", ", entries)).append("}, ");
}