[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eLoggingUtils\u003c/code\u003e class within the Google API Client Library for Java, covering various versions from 2.7.1 up to the latest version, 2.63.1.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eLoggingUtils\u003c/code\u003e class, which inherits from \u003ccode\u003ejava.lang.Object\u003c/code\u003e, offers static methods to handle logging for requests and responses, including logging messages, headers, service details, and executing actions with try-catch blocks.\u003c/p\u003e\n"],["\u003cp\u003eThe class utilizes \u003ccode\u003eLogData.Builder\u003c/code\u003e and \u003ccode\u003eLoggerProvider\u003c/code\u003e for configuring logging level and setting log data.\u003c/p\u003e\n"],["\u003cp\u003eKey functionalities of \u003ccode\u003eLoggingUtils\u003c/code\u003e include methods like \u003ccode\u003elogRequest\u003c/code\u003e, \u003ccode\u003erecordResponsePayload\u003c/code\u003e, \u003ccode\u003elogResponse\u003c/code\u003e, \u003ccode\u003erecordResponseHeaders\u003c/code\u003e, and \u003ccode\u003erecordServiceRpcAndRequestHeaders\u003c/code\u003e, which are designed to log various aspects of API interactions.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation also includes the inherited members from \u003ccode\u003eObject\u003c/code\u003e, such as \u003ccode\u003eclone\u003c/code\u003e, \u003ccode\u003eequals\u003c/code\u003e, and \u003ccode\u003etoString\u003c/code\u003e, which are available for use with \u003ccode\u003eLoggingUtils\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Class LoggingUtils (2.69.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.69.0 (latest)](/java/docs/reference/gax/latest/com.google.api.gax.logging.LoggingUtils)\n- [2.68.2](/java/docs/reference/gax/2.68.2/com.google.api.gax.logging.LoggingUtils)\n- [2.67.0](/java/docs/reference/gax/2.67.0/com.google.api.gax.logging.LoggingUtils)\n- [2.66.0](/java/docs/reference/gax/2.66.0/com.google.api.gax.logging.LoggingUtils)\n- [2.65.0](/java/docs/reference/gax/2.65.0/com.google.api.gax.logging.LoggingUtils)\n- [2.63.1](/java/docs/reference/gax/2.63.1/com.google.api.gax.logging.LoggingUtils)\n- [2.62.0](/java/docs/reference/gax/2.62.0/com.google.api.gax.logging.LoggingUtils)\n- [2.61.0](/java/docs/reference/gax/2.61.0/com.google.api.gax.logging.LoggingUtils)\n- [2.60.0](/java/docs/reference/gax/2.60.0/com.google.api.gax.logging.LoggingUtils)\n- [2.59.1](/java/docs/reference/gax/2.59.1/com.google.api.gax.logging.LoggingUtils)\n- [2.58.0](/java/docs/reference/gax/2.58.0/com.google.api.gax.logging.LoggingUtils)\n- [2.57.0](/java/docs/reference/gax/2.57.0/com.google.api.gax.logging.LoggingUtils)\n- [2.55.0](/java/docs/reference/gax/2.55.0/com.google.api.gax.logging.LoggingUtils)\n- [2.54.1](/java/docs/reference/gax/2.54.1/com.google.api.gax.logging.LoggingUtils)\n- [2.53.0](/java/docs/reference/gax/2.53.0/com.google.api.gax.logging.LoggingUtils)\n- [2.52.0](/java/docs/reference/gax/2.52.0/com.google.api.gax.logging.LoggingUtils)\n- [2.51.0](/java/docs/reference/gax/2.51.0/com.google.api.gax.logging.LoggingUtils)\n- [2.50.0](/java/docs/reference/gax/2.50.0/com.google.api.gax.logging.LoggingUtils)\n- [2.49.0](/java/docs/reference/gax/2.49.0/com.google.api.gax.logging.LoggingUtils)\n- [2.48.1](/java/docs/reference/gax/2.48.1/com.google.api.gax.logging.LoggingUtils)\n- [2.47.0](/java/docs/reference/gax/2.47.0/com.google.api.gax.logging.LoggingUtils)\n- [2.46.1](/java/docs/reference/gax/2.46.1/com.google.api.gax.logging.LoggingUtils)\n- [2.45.0](/java/docs/reference/gax/2.45.0/com.google.api.gax.logging.LoggingUtils)\n- [2.43.0](/java/docs/reference/gax/2.43.0/com.google.api.gax.logging.LoggingUtils)\n- [2.42.0](/java/docs/reference/gax/2.42.0/com.google.api.gax.logging.LoggingUtils)\n- [2.41.0](/java/docs/reference/gax/2.41.0/com.google.api.gax.logging.LoggingUtils)\n- [2.39.0](/java/docs/reference/gax/2.39.0/com.google.api.gax.logging.LoggingUtils)\n- [2.38.0](/java/docs/reference/gax/2.38.0/com.google.api.gax.logging.LoggingUtils)\n- [2.37.0](/java/docs/reference/gax/2.37.0/com.google.api.gax.logging.LoggingUtils)\n- [2.36.0](/java/docs/reference/gax/2.36.0/com.google.api.gax.logging.LoggingUtils)\n- [2.35.0](/java/docs/reference/gax/2.35.0/com.google.api.gax.logging.LoggingUtils)\n- [2.34.1](/java/docs/reference/gax/2.34.1/com.google.api.gax.logging.LoggingUtils)\n- [2.33.0](/java/docs/reference/gax/2.33.0/com.google.api.gax.logging.LoggingUtils)\n- [2.32.1](/java/docs/reference/gax/2.32.1/com.google.api.gax.logging.LoggingUtils)\n- [2.31.1](/java/docs/reference/gax/2.31.1/com.google.api.gax.logging.LoggingUtils)\n- [2.30.1](/java/docs/reference/gax/2.30.1/com.google.api.gax.logging.LoggingUtils)\n- [2.24.0](/java/docs/reference/gax/2.24.0/com.google.api.gax.logging.LoggingUtils)\n- [2.23.3](/java/docs/reference/gax/2.23.3/com.google.api.gax.logging.LoggingUtils)\n- [2.22.0](/java/docs/reference/gax/2.22.0/com.google.api.gax.logging.LoggingUtils)\n- [2.21.0](/java/docs/reference/gax/2.21.0/com.google.api.gax.logging.LoggingUtils)\n- [2.20.1](/java/docs/reference/gax/2.20.1/com.google.api.gax.logging.LoggingUtils)\n- [2.19.6](/java/docs/reference/gax/2.19.6/com.google.api.gax.logging.LoggingUtils)\n- [2.18.7](/java/docs/reference/gax/2.18.7/com.google.api.gax.logging.LoggingUtils)\n- [2.17.0](/java/docs/reference/gax/2.17.0/com.google.api.gax.logging.LoggingUtils)\n- [2.16.0](/java/docs/reference/gax/2.16.0/com.google.api.gax.logging.LoggingUtils)\n- [2.15.0](/java/docs/reference/gax/2.15.0/com.google.api.gax.logging.LoggingUtils)\n- [2.14.0](/java/docs/reference/gax/2.14.0/com.google.api.gax.logging.LoggingUtils)\n- [2.13.0](/java/docs/reference/gax/2.13.0/com.google.api.gax.logging.LoggingUtils)\n- [2.12.2](/java/docs/reference/gax/2.12.2/com.google.api.gax.logging.LoggingUtils)\n- [2.11.0](/java/docs/reference/gax/2.11.0/com.google.api.gax.logging.LoggingUtils)\n- [2.10.0](/java/docs/reference/gax/2.10.0/com.google.api.gax.logging.LoggingUtils)\n- [2.9.0](/java/docs/reference/gax/2.9.0/com.google.api.gax.logging.LoggingUtils)\n- [2.8.1](/java/docs/reference/gax/2.8.1/com.google.api.gax.logging.LoggingUtils)\n- [2.7.1](/java/docs/reference/gax/2.7.1/com.google.api.gax.logging.LoggingUtils) \n\n public class LoggingUtils\n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e LoggingUtils \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nStatic Methods\n--------------\n\n### \\\u003cRespT\\\u003elogRequest(RespT message, LogData.Builder logDataBuilder, LoggerProvider loggerProvider)\n\n public static void \u003cRespT\u003elogRequest(RespT message, LogData.Builder logDataBuilder, LoggerProvider loggerProvider)\n\nLog request based on logging level configured\n\n### \\\u003cRespT\\\u003erecordResponsePayload(RespT message, LogData.Builder logDataBuilder, LoggerProvider loggerProvider)\n\n public static void \u003cRespT\u003erecordResponsePayload(RespT message, LogData.Builder logDataBuilder, LoggerProvider loggerProvider)\n\nSets logDataBuilder with respond payload based on logging level\n\n### executeWithTryCatch(LoggingUtils.ThrowingRunnable action)\n\n public static void executeWithTryCatch(LoggingUtils.ThrowingRunnable action)\n\n### logResponse(String status, LogData.Builder logDataBuilder, LoggerProvider loggerProvider)\n\n public static void logResponse(String status, LogData.Builder logDataBuilder, LoggerProvider loggerProvider)\n\nLog response based on logging level configured\n\n### recordResponseHeaders(Map\\\u003cString,String\\\u003e headers, LogData.Builder logDataBuilder, LoggerProvider loggerProvider)\n\n public static void recordResponseHeaders(Map\u003cString,String\u003e headers, LogData.Builder logDataBuilder, LoggerProvider loggerProvider)\n\nSets logDataBuilder with response headers based on logging level\n\n### recordServiceRpcAndRequestHeaders(String serviceName, String rpcName, String endpoint, Map\\\u003cString,String\\\u003e requestHeaders, LogData.Builder logDataBuilder, LoggerProvider loggerProvider)\n\n public static void recordServiceRpcAndRequestHeaders(String serviceName, String rpcName, String endpoint, Map\u003cString,String\u003e requestHeaders, LogData.Builder logDataBuilder, LoggerProvider loggerProvider)\n\nSets logDataBuilder with service name, rpc name, endpoint and request headers based on logging\nlevel\n\nConstructors\n------------\n\n### LoggingUtils()\n\n public LoggingUtils()"]]