Skip to content

Commit

Permalink
Add file writer line sperator
Browse files Browse the repository at this point in the history
  • Loading branch information
han committed Oct 17, 2024
1 parent 3d83777 commit 89c7fa9
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
package org.apache.gravitino.audit;

import com.google.common.annotations.VisibleForTesting;
import java.io.IOException;
import java.util.Map;
import org.apache.gravitino.Config;
import org.apache.gravitino.Configs;
Expand Down Expand Up @@ -73,7 +74,11 @@ public void start() throws RuntimeException {}

@Override
public void stop() throws RuntimeException {
auditLogWriter.close();
try {
auditLogWriter.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,6 @@ default void write(Event event) {
doWrite(getFormatter().format(event));
}

/** Close the writer. */
void close();

/**
* Define the name of the writer, which related to audit writer configuration. Audit log writer
* configuration start with: gravitino.audit.log.writer.${name}.*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,13 @@
package org.apache.gravitino.audit;

import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.nio.charset.StandardCharsets;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.gravitino.exceptions.GravitinoRuntimeException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -40,16 +38,19 @@
public class FileAuditWriter implements AuditLogWriter {
private static final Logger Log = LoggerFactory.getLogger(FileAuditWriter.class);

public static final String LOG_FILE_NAME_CONFIG = "name";
public static final String LOG_FILE_NAME_CONFIG = "fileName";

public static final String FILE_IMMEDIATE_FLUSH_CONFIG = "immediateFlush";

public static final String LINE_SEPARATOR = "lineSeparator";
private Formatter formatter;
private Writer outWriter;
@VisibleForTesting String fileName;

boolean immediateFlush;

String lineSeparator;

@Override
public Formatter getFormatter() {
return formatter;
Expand All @@ -58,11 +59,10 @@ public Formatter getFormatter() {
@Override
public void init(Formatter formatter, Map<String, String> properties) {
this.formatter = formatter;
fileName = properties.getOrDefault(LOG_FILE_NAME_CONFIG, "default_gravitino_audit_log");
fileName = properties.getOrDefault(LOG_FILE_NAME_CONFIG, "gravitino_audit.log");
immediateFlush =
Boolean.parseBoolean(properties.getOrDefault(FILE_IMMEDIATE_FLUSH_CONFIG, "false"));
Preconditions.checkArgument(
StringUtils.isNotBlank(fileName), "FileAuditWriter: fileName is not set in configuration.");
lineSeparator = properties.getOrDefault(LINE_SEPARATOR, "\n");
try {
OutputStream outputStream = new FileOutputStream(fileName, true);
outWriter = new OutputStreamWriter(outputStream, StandardCharsets.UTF_8);
Expand All @@ -76,7 +76,7 @@ public void init(Formatter formatter, Map<String, String> properties) {
public void doWrite(AuditLog auditLog) {
String log = auditLog.toString();
try {
outWriter.write(log);
outWriter.write(log + lineSeparator);
if (immediateFlush) {
outWriter.flush();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
package org.apache.gravitino.audit;

import java.text.SimpleDateFormat;
import javax.annotation.Nullable;
import lombok.Builder;

/** The default implementation of the audit log. */
Expand Down Expand Up @@ -47,6 +48,7 @@ public Operation operation() {
}

@Override
@Nullable
public String identifier() {
return identifier;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,11 @@

package org.apache.gravitino.audit;

import java.util.Objects;
import org.apache.gravitino.audit.AuditLog.Status;
import org.apache.gravitino.listener.api.event.Event;
import org.apache.gravitino.listener.api.event.FailureEvent;

/** The default implementation of the audit log. */
/** The default formatter implementation of the audit log. */
public class SimpleFormatter implements Formatter {

@Override
Expand All @@ -33,10 +32,7 @@ public SimpleAuditLog format(Event event) {
return SimpleAuditLog.builder()
.user(event.user())
.operation(AuditLog.Operation.fromEvent(event))
.identifier(
event.identifier() != null
? Objects.requireNonNull(event.identifier()).toString()
: null)
.identifier(event.identifier() != null ? event.identifier().toString() : null)
.timestamp(event.eventTime())
.status(status)
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
public class TestAuditManager {
private static final Logger LOG = LoggerFactory.getLogger(TestAuditManager.class);

private static final String DEFAULT_FILE_NAME = "default_gravitino_audit_log";
private static final String DEFAULT_FILE_NAME = "gravitino_audit.log";

@BeforeAll
public void setup() {
Expand Down

0 comments on commit 89c7fa9

Please sign in to comment.