/src/com/synthnet/log/AppLogger.java

https://bitbucket.org/pmolnar/spring-all-in-one-application · Java · 70 lines · 60 code · 10 blank · 0 comment · 4 complexity · b399bda8ed37fb5114548dcb90b9fbe8 MD5 · raw file

  1. package com.synthnet.log;
  2. import org.slf4j.Logger;
  3. public class AppLogger
  4. {
  5. private static class InstanceHolder
  6. {
  7. protected static final AppLogger INSTANCE = new AppLogger();
  8. }
  9. private AppLogger()
  10. {
  11. }
  12. public static synchronized AppLogger getInstance()
  13. {
  14. return InstanceHolder.INSTANCE;
  15. }
  16. public void logError( Class clazz, String method, Throwable t, String message, Object... objects )
  17. {
  18. Logger log = LogFactory.getLogger( clazz.getName() );
  19. if( log.isErrorEnabled() )
  20. {
  21. synchronized( log )
  22. {
  23. log.error( message + " Ex: " + t.getMessage(), objects );
  24. if( t != null )
  25. {
  26. StackTraceElement[] stack = t.getStackTrace();
  27. for( StackTraceElement stackTraceElement : stack )
  28. {
  29. log.error( stackTraceElement.toString() );
  30. }
  31. }
  32. }
  33. }
  34. }
  35. public void logError( Class clazz, String message, Object... objects )
  36. {
  37. Logger log = LogFactory.getLogger( clazz.getName() );
  38. log.error( message, objects );
  39. }
  40. public void logWarning( Class clazz, String message, Object... objects )
  41. {
  42. Logger log = LogFactory.getLogger( clazz.getName() );
  43. log.warn( message, objects );
  44. }
  45. public void logInfo( Class clazz, String message, Object... objects )
  46. {
  47. Logger log = LogFactory.getLogger( clazz.getName() );
  48. log.info( message, objects );
  49. }
  50. public void logDebug( Class clazz, String message, Object... objects )
  51. {
  52. Logger log = LogFactory.getLogger( clazz.getName() );
  53. log.debug( message, objects );
  54. }
  55. public void logTrace( Class clazz, String message, Object... objects )
  56. {
  57. Logger log = LogFactory.getLogger( clazz.getName() );
  58. log.trace( message, objects );
  59. }
  60. }