View Javadoc
1   /*
2    * Copyright (C) 2007-2012 Argeo GmbH
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *         http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.argeo.api;
17  
18  /**
19   * Logging framework agnostic identifying a logging service, to which one can
20   * register
21   */
22  public interface ArgeoLogger {
23  	/**
24  	 * Register for events by threads with the same authentication (or all
25  	 * threads if admin)
26  	 */
27  	public void register(ArgeoLogListener listener,
28  			Integer numberOfPreviousEvents);
29  
30  	/**
31  	 * For admin use only: register for all users
32  	 * 
33  	 * @param listener
34  	 *            the log listener
35  	 * @param numberOfPreviousEvents
36  	 *            the number of previous events to notify
37  	 * @param everything
38  	 *            if true even anonymous is logged
39  	 */
40  	public void registerForAll(ArgeoLogListener listener,
41  			Integer numberOfPreviousEvents, boolean everything);
42  
43  	public void unregister(ArgeoLogListener listener);
44  
45  	public void unregisterForAll(ArgeoLogListener listener);
46  }