Our usual advice is to use the J.U.L configuration file. You don't want to
do that.
I would think that you would be able to simple hack the root logger and
install your handlers there, but I don't know.
You could create a subclass of AbstractDelegatingLogger and make it just
turn around and use J.U.L under the control of your configuration.
On Fri, Aug 8, 2008 at 10:25 AM, Shinkan <[EMAIL PROTECTED]> wrote:
> Thanks, I missed the Javadoc on CXF's website.
> I've read this Class doc, as well as AbstractDelegatingLogger doc.
> I now clearly get that CXF will use Java Logging by default, but in fact,
> _I
> just want to configure its logger(s ?) to use FileHandler instead of the
> ConsoleHandler, all of this programatically_.
>
> I've tried this :
> Logger result = Logger.getLogger(name);
> result.setUseParentHandlers(false);
> Handler[] hdls = result.getHandlers();
> for( int i = 0; i < hdls.length; i++ ) {
> result.removeHandler(hdls[i]);
> }
> FileHandler hdl = new FileHandler(path, true);
> hdl.setFormatter(_DEFAULT_FORMAT);
> result.addHandler(hdl);
> result.setLevel(_DEFAULT_LEVEL);
> return result;
>
> With name = one of what I think is a Logger CXF uses
> (org.apache.cxf.interceptor.LoggingInInterceptor and
> org.apache.cxf.interceptor.LoggingOutInterceptor), and path = the path of
> the file I want to be the log.
>
> This doesn't work .. I still have Console logged output, which is by the
> way
> :
>
> 8 août 2008 15:48:12
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> buildServiceFromClass
> INFO: Creating Service
> {http://service.paradise/}PSIService<http://service.paradise/%7DPSIService>from
> class
> paradise.service.PSIService
> 8 août 2008 15:48:12 org.apache.cxf.endpoint.ServerImpl initDestination
> INFO: Setting the server's publish address to be
> http://localhost:9000/ParadiseServer
> 8 août 2008 15:48:12 sun.reflect.NativeMethodAccessorImpl invoke0
> INFO: Logging to org.slf4j.impl.JDK14LoggerAdapter(org.mortbay.log) via
> org.mortbay.log.Slf4jLog
> 8 août 2008 15:48:12 sun.reflect.NativeMethodAccessorImpl invoke0
> INFO: jetty-6.1.9
> 8 août 2008 15:48:12 sun.reflect.NativeMethodAccessorImpl invoke0
> INFO: Started [EMAIL PROTECTED]:9000
>
> It's really annoying that it talks about "JDK14LoggerAdapter" ??! I use JDK
> and JRE 1.5.
>
> On Fri, Aug 8, 2008 at 16:18, Benson Margulies <[EMAIL PROTECTED]
> >wrote:
>
> > The javadoc is on the web site. Or you can fetch the source. Many users
> > find
> > that reading the source is awfully useful.
> >
> > Here's the doc from the top of the class. As you can see, CXF already
> uses
> > J.U.L by default. But it uses its own loggers based on its class names.
> >
> > /**
> > * A container for static utility methods related to logging.
> > * By default, CXF logs to java.util.logging. An application can change
> > this. To log to another system, the
> > * application must provide an object that extends [EMAIL PROTECTED]
> > AbstractDelegatingLogger}, and advertise that class
> > * via one of the following mechanisms:
> > * <ul>
> > * <li>Create a file, in the classpath, named
> > META-INF/cxf/org.apache.cxf.Logger.
> > * This file should contain the fully-qualified name
> > * of the class, with no comments, on a single line.</li>
> > * <li>Call [EMAIL PROTECTED] #setLoggerClass(Class)} with a Class<?>
> > reference to
> the
> > logger class.</li>
> > * </ul>
> > * CXF provides [EMAIL PROTECTED] Log4jLogger} to use log4j instead of
> > java.util.logging.
> > */
> >
> >
> >
> > On Fri, Aug 8, 2008 at 9:58 AM, Shinkan <[EMAIL PROTECTED]> wrote:
> >
> > > Hi Benson.
> > >
> > > Where can I find that ?
> > > I don't have it in my CXF .zip downloaded pack.
> > > Googling it doesn't help.
> > >
> > > On Fri, Aug 8, 2008 at 15:41, Benson Margulies <[EMAIL PROTECTED]
> > > >wrote:
> > >
> > > > Read the javadoc of
> > > >
> > > >
> > >
> >
> /cxf-common-utilities/src/main/java/org/apache/cxf/common/logging/LogUtils.java.
> > > >
> > > >
> > > >
> > > > On Fri, Aug 8, 2008 at 8:30 AM, Shinkan <[EMAIL PROTECTED]> wrote:
> > > >
> > > > > Hi everyone !
> > > > >
> > > > > I would like to log all the CXF verbose stuff on a file, which is
> > > already
> > > > > used for some other logging.
> > > > > I created the log file programmatically through the Java SE Logger
> > > class
> > > > > (and I won't change that, it's a design choice to create it
> > > > > programmatically).
> > > > > So basically, I have a Logger, with an appender configured, all of
> > this
> > > > > programatically, and I would like CXF to use it _and nothing else_
> to
> > > log
> > > > > messages.
> > > > >
> > > > > I use Simple Frontend, I guess that I must do something with
> > > > > Logging(In|Out)Interceptor, but I don't know what :S
> > > > >
> > > > > Many thanks in advance.
> > > > >
> > > > > --
> > > > > Pierre.
> > > > > Some people, when confronted with a problem, think "I know, I'll
> use
> > > > XML".
> > > > > Now they have two problems. -- Jamie Zawinski / James Robertson
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Pierre.
> > > Some people, when confronted with a problem, think "I know, I'll use
> > XML".
> > > Now they have two problems. -- Jamie Zawinski / James Robertson
> > >
> >
>
>
>
> --
> Pierre.
> Some people, when confronted with a problem, think "I know, I'll use XML".
> Now they have two problems. -- Jamie Zawinski / James Robertson
>