package com.oneliang.util.logging;

import com.oneliang.Constant;
import com.oneliang.util.common.StringUtil;
import com.oneliang.util.common.TimeUtil;

public class BaseLogger extends AbstractLogger {

	/**
	 * constructor
	 * @param level
	 */
	public BaseLogger(Level level) {
		super(level);
	}

	/**
	 * log
	 * @param level
	 * @param message
	 * @param throwable
	 */
	protected void log(Level level, Object message, Throwable throwable){
		System.out.println(processMessage(level, message, throwable));
		if(throwable!=null){
			throwable.printStackTrace();
		}
	}

	/**
	 * process message
	 * @param level
	 * @param message
	 * @param throwable
	 * @return String
	 */
	protected String processMessage(Level level, Object message, Throwable throwable){
		StringBuilder stringBuilder=new StringBuilder();
		stringBuilder.append(Constant.Symbol.MIDDLE_BRACKET_LEFT);
		stringBuilder.append(TimeUtil.dateToString(TimeUtil.getTime(), TimeUtil.YEAR_MONTH_DAY_HOUR_MINUTE_SECOND_MILLISECOND));
		stringBuilder.append(Constant.Symbol.MIDDLE_BRACKET_RIGHT);
		stringBuilder.append(StringUtil.SPACE);
		stringBuilder.append(Constant.Symbol.MIDDLE_BRACKET_LEFT);
		stringBuilder.append(level.name());
		stringBuilder.append(Constant.Symbol.MIDDLE_BRACKET_RIGHT);
		stringBuilder.append(StringUtil.SPACE);
		stringBuilder.append(Constant.Symbol.MIDDLE_BRACKET_LEFT);
		stringBuilder.append(message);
		stringBuilder.append(Constant.Symbol.MIDDLE_BRACKET_RIGHT);
		return stringBuilder.toString();
	}
}

@@ -196,22 +196,28 @@
 gger %7B%0A%0A
-%09/**%0A%09
+    /**%0A    
  * const
@@ -223,17 +223,28 @@
 tructor%0A
-%09
+     * %0A    
  * @para
@@ -251,22 +251,28 @@
 m level%0A
-%09 */%0A%09
+     */%0A    
 public B
@@ -296,18 +296,24 @@
 evel) %7B%0A
-%09%09
+        
 super(le
@@ -322,26 +322,46 @@
 l);%0A
-%09%7D%0A%0A%09/**%0A%09 * log%0A%09
+    %7D%0A%0A    /**%0A     * log%0A     * %0A    
  * @
@@ -364,33 +364,36 @@
  * @param level%0A
-%09
+    
  * @param messag
@@ -386,33 +386,36 @@
  @param message%0A
-%09
+    
  * @param throwa
@@ -418,22 +418,28 @@
 rowable%0A
-%09 */%0A%09
+     */%0A    
 protecte
@@ -498,20 +498,27 @@
 rowable)
+ 
 %7B%0A
-%09%09
+        
 System.o
@@ -576,12 +576,19 @@
 ));%0A
-%09%09
+        
 if
+ 
 (thr
@@ -597,20 +597,32 @@
 able
+ 
 !=
+ 
 null)
+ 
 %7B%0A
-%09%09%09
+            
 thro
@@ -650,22 +650,37 @@
 ();%0A
-%09%09%7D%0A%09%7D%0A%0A%09/**%0A%09
+        %7D%0A    %7D%0A%0A    /**%0A    
  * p
@@ -686,33 +686,44 @@
 process message%0A
-%09
+     * %0A    
  * @param level%0A
@@ -722,17 +722,20 @@
 m level%0A
-%09
+    
  * @para
@@ -744,17 +744,20 @@
 message%0A
-%09
+    
  * @para
@@ -768,17 +768,20 @@
 rowable%0A
-%09
+    
  * @retu
@@ -794,14 +794,20 @@
 ing%0A
-%09 */%0A%09
+     */%0A    
 prot
@@ -887,12 +887,19 @@
 ble)
+ 
 %7B%0A
-%09%09
+        
 Stri
@@ -921,17 +921,19 @@
 gBuilder
-=
+ = 
 new Stri
@@ -945,18 +945,24 @@
 lder();%0A
-%09%09
+        
 stringBu
@@ -1004,34 +1004,40 @@
 _BRACKET_LEFT);%0A
-%09%09
+        
 stringBuilder.ap
@@ -1137,26 +1137,32 @@
 LISECOND));%0A
-%09%09
+        
 stringBuilde
@@ -1201,34 +1201,40 @@
 BRACKET_RIGHT);%0A
-%09%09
+        
 stringBuilder.ap
@@ -1249,34 +1249,40 @@
 ingUtil.SPACE);%0A
-%09%09
+        
 stringBuilder.ap
@@ -1316,34 +1316,40 @@
 _BRACKET_LEFT);%0A
-%09%09
+        
 stringBuilder.ap
@@ -1368,18 +1368,271 @@
 ame());%0A
-%09%09
+        stringBuilder.append(Constant.Symbol.MIDDLE_BRACKET_RIGHT);%0A        stringBuilder.append(StringUtil.SPACE);%0A        stringBuilder.append(Constant.Symbol.MIDDLE_BRACKET_LEFT);%0A        stringBuilder.append(Thread.currentThread().getName());%0A        
 stringBu
@@ -1679,26 +1679,32 @@
 KET_RIGHT);%0A
-%09%09
+        
 stringBuilde
@@ -1731,18 +1731,24 @@
 SPACE);%0A
-%09%09
+        
 stringBu
@@ -1798,18 +1798,24 @@
 _LEFT);%0A
-%09%09
+        
 stringBu
@@ -1837,18 +1837,24 @@
 ssage);%0A
-%09%09
+        
 stringBu
@@ -1909,10 +1909,16 @@
 T);%0A
-%09%09
+        
 retu
@@ -1950,9 +1950,12 @@
 ();%0A
-%09
+    
 %7D%0A%7D%0A

add thread name to log