Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/objectstyle/woproject/log4j/Log4JAdapter.java


1   package org.objectstyle.woproject.log4j;
2   /* ====================================================================
3    * 
4    * The ObjectStyle Group Software License, Version 1.0 
5    *
6    * Copyright (c) 2002 The ObjectStyle Group 
7    * and individual authors of the software.  All rights reserved.
8    *
9    * Redistribution and use in source and binary forms, with or without
10   * modification, are permitted provided that the following conditions
11   * are met:
12   *
13   * 1. Redistributions of source code must retain the above copyright
14   *    notice, this list of conditions and the following disclaimer. 
15   *
16   * 2. Redistributions in binary form must reproduce the above copyright
17   *    notice, this list of conditions and the following disclaimer in
18   *    the documentation and/or other materials provided with the
19   *    distribution.
20   *
21   * 3. The end-user documentation included with the redistribution, if
22   *    any, must include the following acknowlegement:  
23   *       "This product includes software developed by the 
24   *        ObjectStyle Group (http://objectstyle.org/)."
25   *    Alternately, this acknowlegement may appear in the software itself,
26   *    if and wherever such third-party acknowlegements normally appear.
27   *
28   * 4. The names "ObjectStyle Group" and "Cayenne" 
29   *    must not be used to endorse or promote products derived
30   *    from this software without prior written permission. For written 
31   *    permission, please contact andrus@objectstyle.org.
32   *
33   * 5. Products derived from this software may not be called "ObjectStyle"
34   *    nor may "ObjectStyle" appear in their names without prior written
35   *    permission of the ObjectStyle Group.
36   *
37   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40   * DISCLAIMED.  IN NO EVENT SHALL THE OBJECTSTYLE GROUP OR
41   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48   * SUCH DAMAGE.
49   * ====================================================================
50   *
51   * This software consists of voluntary contributions made by many
52   * individuals on behalf of the ObjectStyle Group.  For more
53   * information on the ObjectStyle Group, please see
54   * <http://objectstyle.org/>.
55   *
56   */
57  
58  
59  import com.webobjects.foundation.NSLog;
60  
61  import org.apache.log4j.Level;
62  import org.apache.log4j.Logger;
63  
64  
65  /** Adapter class that allows NSLog to use Log4J. 
66    *
67    * @author Andrei Adamchik
68    */
69  public class Log4JAdapter extends NSLog.Logger {
70      static final Logger logger = Logger.getLogger(Log4JAdapter.class);
71  
72      protected Level logLevel;
73  
74      /** Sets an instance of Log4JAdapter as logger for all NSLog levels. */
75      public static void replaceNSLog() {
76          NSLog.err = new Log4JAdapter(Level.ERROR);
77          NSLog.out = new Log4JAdapter(Level.INFO);
78          NSLog.debug = new Log4JAdapter(Level.DEBUG);
79      }
80  
81      public Log4JAdapter(Level logLevel) {
82          this.logLevel = logLevel;
83      }
84  
85      /**
86       * @see Logger#appendln()
87       */
88      public void appendln() {
89          logger.log(logLevel, "");
90      }
91  
92      /**
93       * @see Logger#appendln(Object)
94       */
95      public void appendln(Object arg0) {
96          logger.log(logLevel, arg0);
97      }
98  
99      public void appendln(Throwable th) {
100         logger.log(logLevel, "wo exception", th);
101     }
102 
103     /**
104      * @see Logger#flush()
105      */
106     public void flush() {}
107 
108     /**
109      * Gets the logLevel.
110      * @return Returns a Level
111      */
112     public Level getLogLevel() {
113         return logLevel;
114     }
115 
116     /**
117      * Sets the logLevel.
118      * @param logLevel The logLevel to set
119      */
120     public void setLogLevel(Level logLevel) {
121         this.logLevel = logLevel;
122     }
123 }