Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.leviathanstudio.superloup10.wolfide.desktop.view;
- import com.leviathanstudio.superloup10.wolfide.core.util.Util;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.PrintStream;
- import java.time.LocalDate;
- import javafx.scene.control.TextArea;
- public class Console extends PrintStream
- {
- private TextArea output;
- public Console(final TextArea out) throws FileNotFoundException
- {
- super(getLogName());
- this.output = out;
- }
- @Override
- public void write(int b)
- {
- addToConsole(new String(new char[] {(char)b}));
- }
- @Override
- public void write(byte[] buf, int off, int len)
- {
- addToConsole(new String(buf, off, len));
- }
- @Override
- public void println(String x)
- {
- addToConsole(x + "\n");
- }
- private void addToConsole(String text)
- {
- final String logContent = this.output.getText() + text;
- this.output.setText(logContent);
- writeLog(logContent);
- }
- private static File getLogName()
- {
- LocalDate date = LocalDate.now();
- String name = String.format("%1$4d-%2$02d-%3$02d", date.getYear(), date.getMonthValue(), date.getDayOfMonth());
- return new File(Util.LOG_DIR, name + ".log");
- }
- private void writeLog(String logContent)
- {
- Util.writeFile(getLogName(), logContent);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement