Stackdriverの "カスタムログ"にログをポストします。これらの機能はベータ版であるため、App Engine上でJava APIを使用してロギングを使用する方法については説明がありません。とにかく私は私の問題を説明したい:私は取得した後Google App Engineスタックドライバー。
public static Logging createAuthorizedClient() throws IOException {
// Create the credential
HttpTransport transport = new NetHttpTransport();
JsonFactory jsonFactory = new JacksonFactory();
GoogleCredential credential = GoogleCredential.getApplicationDefault(transport, jsonFactory);
if (credential.createScopedRequired()) {
credential = credential.createScoped(LoggingScopes.all());
}
return new Logging.Builder(transport, jsonFactory, credential).setApplicationName(SharedConstants.APPLICATION_ID).build();
}
:私はこのようなログオブジェクトを(私はこれが正しいと願っています)の構築まず、だから、
"com.google.apis:google-api-services-logging:v2beta1-rev10-1.21.0"
:私は、このAPIのバージョンを使用します
LogEntry lEntry = new LogEntry();
lEntry.setTextPayload("I want to see this log!");
WriteLogEntriesRequest writeLogEntriesRequest = new WriteLogEntriesRequest();
writeLogEntriesRequest.setLogName("My Super log");
List<LogEntry> listEntries = new ArrayList<>();
listEntries.add(lEntry);
writeLogEntriesRequest.setEntries(listEntries);
Logging logging = LoggingManager.createAuthorizedClient();
Write write = logging.entries().write(writeLogEntriesRequest);
WriteLogEntriesResponse writeLogResponse = write.execute();
しかし、私が得ることである:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 OK
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Invalid resource id",
"reason" : "badRequest"
} ],
"message" : "Invalid resource id",
"status" : "INVALID_ARGUMENT"
}
クライアントのロギング、私がログにエントリをプッシュしよう
===更新:解決策===
mshammaに感謝します。私が走った
private Map<String, Object> entriesMap;