Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010 JBoss Inc
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.drools.guvnor.server.util;
 
 
 import java.util.Date;

Collects messages for displaying in the GUI as well as providing a logger.
 
 public class LoggingHelper {
     private final org.slf4j.Logger log;
 
     private static final MessageList messages = new MessageList();
 
     public static LogEntry[] getMessages() {
         return .getMessages();
     }
 
     public static void cleanLog() {
         .cleanEntry();
     }
 
     public static LoggingHelper getLogger(Class<?> cls) {
         return new LoggingHelper(cls);
     }
 
     private LoggingHelper(Class<?> cls) {
          = LoggerFactory.getLogger(cls);
     }
 
     public void info(String message) {
         .info(message);
         .add(message,
                 1);
     }
 
     public void info(String message,
                      Throwable error) {
         .info(message,
                 error);
         .add(message + " " + error.getMessage(),
                 1);
     }
 
     public void debug(String message) {
         .debug(message);
     }
 
     public void error(String message) {
         .error(message);
         .add(message,
                 0);
     }
 
     public void error(String message,
                       Throwable error) {
         .error(message,
                 error);
         .add(message + " " + error.getMessage(),
                 0);
     }
 
     public void warn(String message) {
         .warn(message);
     }
 
     public boolean isDebugEnabled() {
         return .isDebugEnabled();
     }
 
 }
 
 class MessageList {
     private static final int MAX = 500;
     private LogEntry[] messages = new LogEntry[];
     private int current = 0;
 
     public MessageList() {
 
     }
 
     public synchronized void add(String message,
                                 int severity) {
        LogEntry entry = new LogEntry();
        entry.message = message;
        entry.timestamp = new Date();
        entry.severity = severity;
        if ( == ) {
             = 0;
        }
        [++] = entry;
    }
    public LogEntry[] getMessages() {
        //JDK1.5 Incompatible. 
        //return Arrays.copyOf( messages, current );
        LogEntry[] result = new LogEntry[];
        System.arraycopy(,
                0,
                result,
                0,
                Math.min(.,
                        ));
        return result;
    }
    public synchronized void cleanEntry() {
         = new LogEntry[];
         = 0;
    }
New to GrepCode? Check out our FAQ X