litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.client; import org.litesoft.GWT.client.widgets.*; import org.litesoft.logger.*; import org.litesoft.logger.nonpublic.*; public class TextAreaLogFactory extends SizeableTextArea { public TextAreaLogFactory() { super( false ); setText( "" ); } private static final String NEW_LINE = "\n"; public void newLine() { append( NEW_LINE ); } public void append( Object pObject ) { if ( isAttached() ) { setText( getText() + deNull( pObject ) ); } } public void appendLine( Object pObject ) { append( deNull( pObject ) + NEW_LINE ); } private String deNull( Object pObject ) { return String.valueOf( pObject ); } public Logger createLogger( String pClassName, int pLoggerLevel ) { return new MyLogger( new LogHelper( this, pLoggerLevel ), pClassName ); } private static class MyLogger extends Logger { public MyLogger( LogHelper pLogHelper, String pClassName ) { super( pLogHelper, pLogHelper, pClassName ); } } private static class LogHelper implements ImplLoggerAdapterResolver, EnabledlogLevelAccessor { private TextAreaLogFactory mTextArea; private int mLoggerLevel; public LogHelper( TextAreaLogFactory pTextArea, int pLoggerLevel ) { mTextArea = pTextArea; mLoggerLevel = pLoggerLevel; } public int getEnabledLevel() { return mLoggerLevel; } public int getEnabledLevel( String pClassName ) { return getEnabledLevel(); } public ImplLoggerAdapter resolve( int pLevel, String pClassname ) { return new LoggerAdapter( mTextArea, LEVELS[pLevel], pClassname ); } } private static class LoggerAdapter implements ImplLoggerAdapter { private TextAreaLogFactory mTextArea; private String mLevel, mClassname; public LoggerAdapter( TextAreaLogFactory pTextArea, String pLevel, String pClassname ) { mTextArea = pTextArea; mLevel = pLevel; mClassname = pClassname; } public boolean isEnabled() { return true; } public void log( String pText, Throwable pThrowable ) { addLine( ",Err:" + pThrowable.getMessage(), pText ); } public void log( String pText ) { addLine( "", pText ); } private void addLine( String pErr, String pText ) { mTextArea.appendLine( "[" + mLevel + pErr + "]" + mClassname + " - " + pText ); } } } |