/[aagtl_public1]/src/net/htmlparser/jericho/LoggerFactory.java
aagtl

Contents of /src/net/htmlparser/jericho/LoggerFactory.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations) (download)
Sun Aug 5 13:48:36 2012 UTC (11 years, 8 months ago) by zoffadmin
File size: 2807 byte(s)
initial import of aagtl source code
1 // Jericho HTML Parser - Java based library for analysing and manipulating HTML
2 // Version 3.2
3 // Copyright (C) 2004-2009 Martin Jericho
4 // http://jericho.htmlparser.net/
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of either one of the following licences:
8 //
9 // 1. The Eclipse Public License (EPL) version 1.0,
10 // included in this distribution in the file licence-epl-1.0.html
11 // or available at http://www.eclipse.org/legal/epl-v10.html
12 //
13 // 2. The GNU Lesser General Public License (LGPL) version 2.1 or later,
14 // included in this distribution in the file licence-lgpl-2.1.txt
15 // or available at http://www.gnu.org/licenses/lgpl.txt
16 //
17 // This library is distributed on an "AS IS" basis,
18 // WITHOUT WARRANTY OF ANY KIND, either express or implied.
19 // See the individual licence texts for more details.
20
21 package net.htmlparser.jericho;
22
23 final class LoggerFactory
24 {
25 private static LoggerProvider defaultLoggerProvider = null;
26
27 public static Logger getLogger(final String name)
28 {
29 return getLoggerProvider().getLogger(name);
30 }
31
32 public static Logger getLogger(final Class loggedClass)
33 {
34 return getLogger(loggedClass.getName());
35 }
36
37 public static LoggerProvider getLoggerProvider()
38 {
39 return (Config.LoggerProvider != null) ? Config.LoggerProvider : getDefaultLoggerProvider();
40 }
41
42 private static LoggerProvider getDefaultLoggerProvider()
43 {
44 if (defaultLoggerProvider == null) defaultLoggerProvider = determineDefaultLoggerProvider();
45 return defaultLoggerProvider;
46 }
47
48 private static LoggerProvider determineDefaultLoggerProvider()
49 {
50 if (isClassAvailable("org.slf4j.impl.StaticLoggerBinder"))
51 {
52 if (isClassAvailable("org.slf4j.impl.JDK14LoggerFactory")) return LoggerProvider.JAVA;
53 if (isClassAvailable("org.slf4j.impl.Log4jLoggerFactory")) return LoggerProvider.LOG4J;
54 if (!isClassAvailable("org.slf4j.impl.JCLLoggerFactory")) return LoggerProvider.SLF4J;
55 // fall through to next check if SLF4J is configured to use JCL
56 }
57 //if (isClassAvailable("org.apache.commons.logging.Log"))
58 //{
59 // final String logClassName = org.apache.commons.logging.LogFactory.getLog("test").getClass().getName();
60 // if (logClassName.equals("org.apache.commons.logging.impl.Jdk14Logger")) return LoggerProvider.JAVA;
61 // if (logClassName.equals("org.apache.commons.logging.impl.Log4JLogger")) return LoggerProvider.LOG4J;
62 // return LoggerProvider.JCL;
63 //}
64 if (isClassAvailable("org.apache.log4j.Logger")) return LoggerProvider.LOG4J;
65 return LoggerProvider.JAVA;
66 }
67
68 private static boolean isClassAvailable(final String className)
69 {
70 try
71 {
72 Class.forName(className);
73 return true;
74 }
75 catch (Throwable t)
76 {
77 return false;
78 }
79 }
80 }

   
Visit the aagtl Website