001 // SECTION-START[License Header]
002 // <editor-fold defaultstate="collapsed" desc=" Generated License ">
003 /*
004 * Java Object Management and Configuration
005 * Copyright (C) Christian Schulte, 2005-206
006 * All rights reserved.
007 *
008 * Redistribution and use in source and binary forms, with or without
009 * modification, are permitted provided that the following conditions
010 * are met:
011 *
012 * o Redistributions of source code must retain the above copyright
013 * notice, this list of conditions and the following disclaimer.
014 *
015 * o Redistributions in binary form must reproduce the above copyright
016 * notice, this list of conditions and the following disclaimer in
017 * the documentation and/or other materials provided with the
018 * distribution.
019 *
020 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
021 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
022 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
023 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
024 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
025 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
026 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
027 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
028 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
029 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
030 *
031 * $JOMC: Log4JLogger.java 4274 2012-02-17 04:07:29Z schulte2005 $
032 *
033 */
034 // </editor-fold>
035 // SECTION-END
036 package org.jomc.logging.ri.log4j;
037
038 import java.util.logging.Level;
039
040 // SECTION-START[Documentation]
041 // <editor-fold defaultstate="collapsed" desc=" Generated Documentation ">
042 /**
043 * Object management and configuration logging system implementation backed by Log4J.
044 *
045 * <dl>
046 * <dt><b>Identifier:</b></dt><dd>org.jomc.logging.ri.log4j.Log4JLogger</dd>
047 * <dt><b>Name:</b></dt><dd>JOMC Logging Log4J Logging</dd>
048 * <dt><b>Specifications:</b></dt>
049 * <dd>org.jomc.logging.Logger @ 1.0</dd>
050 * <dd>org.jomc.spi.Listener @ 1.0</dd>
051 * <dt><b>Abstract:</b></dt><dd>No</dd>
052 * <dt><b>Final:</b></dt><dd>No</dd>
053 * <dt><b>Stateless:</b></dt><dd>Yes</dd>
054 * </dl>
055 *
056 * @author <a href="mailto:schulte2005@users.sourceforge.net">Christian Schulte</a> 1.0
057 * @version 1.1
058 */
059 // </editor-fold>
060 // SECTION-END
061 // SECTION-START[Annotations]
062 // <editor-fold defaultstate="collapsed" desc=" Generated Annotations ">
063 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2" )
064 // </editor-fold>
065 // SECTION-END
066 public final class Log4JLogger
067 implements org.jomc.logging.Logger,
068 org.jomc.spi.Listener
069 {
070 // SECTION-START[Constructors]
071 // <editor-fold defaultstate="collapsed" desc=" Generated Constructors ">
072 /** Creates a new {@code Log4JLogger} instance. */
073 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2" )
074 public Log4JLogger()
075 {
076 // SECTION-START[Default Constructor]
077 super();
078 // SECTION-END
079 }
080 // </editor-fold>
081 // SECTION-END
082 // SECTION-START[Logger]
083
084 public boolean isDebugEnabled()
085 {
086 return this.getLogger().isEnabledFor( org.apache.log4j.Level.DEBUG );
087 }
088
089 public void debug( final String string )
090 {
091 this.getLogger().debug( string );
092 }
093
094 public void debug( final Throwable throwable )
095 {
096 this.getLogger().debug( throwable.getMessage(), throwable );
097 }
098
099 public void debug( final String message, final Throwable throwable )
100 {
101 this.getLogger().debug( message, throwable );
102 }
103
104 public boolean isErrorEnabled()
105 {
106 return this.getLogger().isEnabledFor( org.apache.log4j.Level.ERROR );
107 }
108
109 public void error( final String string )
110 {
111 this.getLogger().error( string );
112 }
113
114 public void error( final Throwable throwable )
115 {
116 this.getLogger().error( throwable.getMessage(), throwable );
117 }
118
119 public void error( final String message, final Throwable throwable )
120 {
121 this.getLogger().error( message, throwable );
122 }
123
124 public boolean isFatalEnabled()
125 {
126 return this.getLogger().isEnabledFor( org.apache.log4j.Level.FATAL );
127 }
128
129 public void fatal( final String string )
130 {
131 this.getLogger().fatal( string );
132 }
133
134 public void fatal( final Throwable throwable )
135 {
136 this.getLogger().fatal( throwable.getMessage(), throwable );
137 }
138
139 public void fatal( final String message, final Throwable throwable )
140 {
141 this.getLogger().fatal( message, throwable );
142 }
143
144 public boolean isInfoEnabled()
145 {
146 return this.getLogger().isEnabledFor( org.apache.log4j.Level.INFO );
147 }
148
149 public void info( final String string )
150 {
151 this.getLogger().info( string );
152 }
153
154 public void info( final Throwable throwable )
155 {
156 this.getLogger().info( throwable.getMessage(), throwable );
157 }
158
159 public void info( final String message, final Throwable throwable )
160 {
161 this.getLogger().info( message, throwable );
162 }
163
164 public boolean isTraceEnabled()
165 {
166 return this.getLogger().isEnabledFor( org.apache.log4j.Level.TRACE );
167 }
168
169 public void trace( final String string )
170 {
171 this.getLogger().trace( string );
172 }
173
174 public void trace( final Throwable throwable )
175 {
176 this.getLogger().trace( throwable.getMessage(), throwable );
177 }
178
179 public void trace( final String message, final Throwable throwable )
180 {
181 this.getLogger().trace( message, throwable );
182 }
183
184 public boolean isWarnEnabled()
185 {
186 return this.getLogger().isEnabledFor( org.apache.log4j.Level.WARN );
187 }
188
189 public void warn( final String string )
190 {
191 this.getLogger().warn( string );
192 }
193
194 public void warn( final Throwable throwable )
195 {
196 this.getLogger().warn( throwable.getMessage(), throwable );
197 }
198
199 public void warn( final String message, final Throwable throwable )
200 {
201 this.getLogger().warn( message, throwable );
202 }
203
204 // SECTION-END
205 // SECTION-START[Listener]
206 public void onLog( final Level level, final String message, final Throwable throwable )
207 {
208 if ( level != null )
209 {
210 if ( level.equals( Level.CONFIG ) || level.equals( Level.FINE ) )
211 {
212 this.getObjectManagementLogger().debug( message, throwable );
213 }
214 else if ( level.equals( Level.FINER ) || level.equals( Level.FINEST ) )
215 {
216 this.getObjectManagementLogger().trace( message, throwable );
217 }
218 else if ( level.equals( Level.INFO ) )
219 {
220 this.getObjectManagementLogger().info( message, throwable );
221 }
222 else if ( level.equals( Level.SEVERE ) )
223 {
224 this.getObjectManagementLogger().error( message, throwable );
225 }
226 else if ( level.equals( Level.WARNING ) )
227 {
228 this.getObjectManagementLogger().warn( message, throwable );
229 }
230 else
231 {
232 this.getObjectManagementLogger().trace( message, throwable );
233 }
234 }
235 }
236
237 // SECTION-END
238 // SECTION-START[Log4JLogger]
239 /**
240 * Gets the Log4J logger backing the instance.
241 *
242 * @return The Log4J logger backing the instance.
243 *
244 * @see #getName()
245 * @see org.apache.log4j.Logger#getLogger(java.lang.String)
246 */
247 public org.apache.log4j.Logger getLogger()
248 {
249 return org.apache.log4j.Logger.getLogger( this.getName() );
250 }
251
252 // SECTION-END
253 // SECTION-START[Dependencies]
254 // <editor-fold defaultstate="collapsed" desc=" Generated Dependencies ">
255 /**
256 * Gets the {@code <ObjectManagementLogger>} dependency.
257 * <p>
258 * This method returns the {@code <JOMC Logging Log4J Logging>} object of the {@code <org.jomc.logging.Logger>} specification at specification level 1.0.
259 * That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
260 * </p>
261 * <p><strong>Properties:</strong>
262 * <table border="1" width="100%" cellpadding="3" cellspacing="0">
263 * <tr class="TableSubHeadingColor">
264 * <th align="left" scope="col" nowrap><b>Name</b></th>
265 * <th align="left" scope="col" nowrap><b>Type</b></th>
266 * <th align="left" scope="col" nowrap><b>Documentation</b></th>
267 * </tr>
268 * <tr class="TableRow">
269 * <td align="left" valign="top" nowrap>{@code <name>}</td>
270 * <td align="left" valign="top" nowrap>{@code java.lang.String}</td>
271 * <td align="left" valign="top">Name of the logger object management events are logged with.</td>
272 * </tr>
273 * </table>
274 * </p>
275 * <dl>
276 * <dt><b>Final:</b></dt><dd>No</dd>
277 * </dl>
278 * @return Logger object management events are logged with.
279 * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
280 */
281 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2" )
282 private org.jomc.logging.Logger getObjectManagementLogger()
283 {
284 final org.jomc.logging.Logger _d = (org.jomc.logging.Logger) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ObjectManagementLogger" );
285 assert _d != null : "'ObjectManagementLogger' dependency not found.";
286 return _d;
287 }
288 // </editor-fold>
289 // SECTION-END
290 // SECTION-START[Properties]
291 // <editor-fold defaultstate="collapsed" desc=" Generated Properties ">
292 /**
293 * Gets the value of the {@code <name>} property.
294 * <p><dl>
295 * <dt><b>Final:</b></dt><dd>No</dd>
296 * </dl></p>
297 * @return Name of the component events are logged for.
298 * @throws org.jomc.ObjectManagementException if getting the property instance fails.
299 */
300 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2" )
301 public java.lang.String getName()
302 {
303 final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "name" );
304 assert _p != null : "'name' property not found.";
305 return _p;
306 }
307 // </editor-fold>
308 // SECTION-END
309 // SECTION-START[Messages]
310 // SECTION-END
311 }