LoggerPrintStream class

Пакет: com.hypixel.hytale.logger.util

Файл: com/hypixel/hytale/logger/util/LoggerPrintStream.java

extends: PrintStream

Поля (1)

МодификаторыТипИмя
final HytaleLogger logger

Методы (7)

МодификаторыВозвратСигнатура
abstract throw new ArrayIndexOutOfBoundsExceptionthrow new ArrayIndexOutOfBoundsException(var3)
for for(int var4 = 0; var4 < var3; var4++)
public Level getLevelLevel getLevel()
public HytaleLogger getLoggerHytaleLogger getLogger()
if if(this.last == 13 && var1 == 10)
if if(var1 != 10 && var1 != 13)
if if(var3 < 0)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.logger.util;

class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import java.io.ByteArrayOutputStream;
class="kw">import java.io.PrintStream;
class="kw">import java.nio.charset.StandardCharsets;
class="kw">import java.util.logging.Level;

class="kw">public class LoggerPrintStream class="kw">extends PrintStream {
   class="kw">private class="kw">final HytaleLogger logger;
   class="kw">private class="kw">final Level level;
   class="kw">private class="kw">final ByteArrayOutputStream bufferedOutput;
   class="kw">private int last;

   class="kw">public LoggerPrintStream(HytaleLogger var1, Level var2) {
      super(new ByteArrayOutputStream());
      this.logger = var1;
      this.level = var2;
      this.bufferedOutput = (ByteArrayOutputStream)super.out;
      this.last = -1;
   }

   @Override
   class="kw">public void write(int var1) {
      if (this.last == 13 && var1 == 10) {
         this.last = -1;
      } else {
         if (var1 != 10 && var1 != 13) {
            super.write(var1);
         } else {
            try {
               this.logger.at(this.level).log("%s", this.bufferedOutput.toString(StandardCharsets.UTF_8));
            } class="kw">finally {
               this.bufferedOutput.reset();
            }
         }

         this.last = var1;
      }
   }

   @Override
   class="kw">public void write(byte[] var1, int var2, int var3) {
      if (var3 < 0) {
         throw new ArrayIndexOutOfBoundsException(var3);
      }

      for (int var4 = 0; var4 < var3; var4++) {
         this.write(var1[var2 + var4]);
      }
   }

   class="kw">public HytaleLogger getLogger() {
      class="kw">return this.logger;
   }

   class="kw">public Level getLevel() {
      class="kw">return this.level;
   }
}