30 lines
1.1 KiB
Java
30 lines
1.1 KiB
Java
import java.io.BufferedReader;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.InputStreamReader;
|
|
import java.util.Locale;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.stream.Collectors;
|
|
|
|
public class WriteToWindowsEventLog {
|
|
public static void main(String[] args) throws IOException, InterruptedException {
|
|
String osName = System.getProperty("os.name").toUpperCase(Locale.ENGLISH);
|
|
if (!osName.startsWith("WINDOWS")) {
|
|
System.err.println("Not windows");
|
|
return;
|
|
}
|
|
|
|
Process process = Runtime.getRuntime().exec("EventCreate /t INFORMATION /id 123 /l APPLICATION /so Java /d \"Rosetta Code Example\"");
|
|
process.waitFor(10, TimeUnit.SECONDS);
|
|
int exitValue = process.exitValue();
|
|
System.out.printf("Process exited with value %d\n", exitValue);
|
|
if (exitValue != 0) {
|
|
InputStream errorStream = process.getErrorStream();
|
|
String result = new BufferedReader(new InputStreamReader(errorStream))
|
|
.lines()
|
|
.collect(Collectors.joining("\n"));
|
|
System.err.println(result);
|
|
}
|
|
}
|
|
}
|