我需要记录针对我的数据库执行的每个查询的时间戳,用户ID和SQL代码。在独立实例上,可以使用log_statement = true参数轻松完成此操作。但是在Cloud SQL中似乎不支持这种情况,并且Stackdriver日志记录似乎没有这么细微。
是否有其他机制可用于记录用户查询?
答案 0 :(得分:0)
如果您使用该Cloud SQL实例作为Web应用程序的后端,则可以使用StackDriver日志记录库并在应用程序中发生Db访问的位置写入日志。
在maven中,你需要这种依赖:
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-logging</artifactId>
<version>1.26.0</version>
</dependency>
这是一个小用法示例:
import java.util.logging.Logger;
public class Quickstart {
private static final Logger logger = Logger.getLogger(Quickstart.class.getName());
public static void main(String[] args) {
logger.info("Logging INFO with java.util.logging");
logger.severe("Logging ERROR with java.util.logging");
}
}
在此阅读the docs。希望它有所帮助