class LogService {

    public static final String GRPC = "GRPC";
    public static final String REST = "REST";
    public static final String TASK = "TASK";
    public static final String NODE_CHANGE = "NODE_CHANGE";
    public static final String PARTITION_CHANGE = "PARTITION_CHANGE";
    private final LogMeta logMeta;

    public LogService(PDConfig pdConfig) {
        logMeta = MetadataFactory.newLogMeta(pdConfig);
    }

    public List<Metapb.LogRecord> getLog(String action, Long start, Long end) throws PDException {
        return logMeta.getLog(action, start, end);
    }

    public void insertLog(String action, String message, GeneratedMessageV3 target) {<FILL_FUNCTION_BODY>}
}

        try {
            Metapb.LogRecord logRecord = Metapb.LogRecord.newBuilder()
                                                         .setAction(action)
                                                         .setMessage(message)
                                                         .setTimestamp(System.currentTimeMillis())
                                                         .setObject(Any.pack(target))
                                                         .build();
            logMeta.insertLog(logRecord);
        } catch (PDException e) {
            log.debug("Insert log with error:{}", e);
        }

    
<no_super_class>