Jdk logging api

iam using jdk logging api. I've a scenario,
where there are two subclasses for a parent one.
is it suffice to use Logger.getLogger("packagename.superclass");
in the parent class, for all the subclasses to use the same logging medium.
Thanks

What happened when you tried that?

Similar Messages

  • Customize Java logging API

    Want to customize java.util.logging api, like write message to message queue, xml file, etc. Would you guys give me some useful suggestion or resource or link? Thanks.

    Just write a sub-class of Handler such as this:
    public class JMSHandler extends Handler {
    }Look into the JDK source code such as MemoryHandler and StreamHandler on how to implement it.

  • How come logging is so hard? - JDK1.4 Logging API

    Have a small project on hand. A standalone java program trigged by unix cron job and do some data cleaning. Need to implement a very simple logger. Tried to use JDK1.4 Logging API, here's my code:
    public class MyLogManager {
         public final static String NAME = "mylog";
         public final static String LOG_FILE_NAME = "C:/my.log";
         private static Logger logger;
         static {
              try {
                   logger = Logger.getLogger(NAME);
                   Handler fh = new FileHandler(LOG_FILE_NAME);
                   fh.setFormatter(new SimpleFormatter());
                   logger.addHandler(fh);
                   logger.setLevel(Level.ALL);
              } catch (Exception e) {
                   System.out.println("Unable to initialize logger: " + e.toString());
                   System.exit(1);
         public static Logger getLogger() {
              return logger;
    and use MyLogManager.getLogger().info("message") to log message.
    It works and my.log was generated with log message. However, the problem is everytime a new job (java myprogam ...) runs, it deletes the old log file and create a new one.
    I want the message to be appended by the end of old log file. What should I do? Any help?

    Use log4j (google for it - it's on http://jakarta.apache.org).
    If log4j.jar is in your classpath, the JDK 1.4 logging framework will use it automatically. Then all you have to do is to configure a log4j.properties file in your classpath to log wherever you want it to.
    And log4j is sorta-smart about multiple programs logging to the same file.

  • Log API: daily roling file appender?

    my task is to replace Log4J with the JDK 1.4 logging API. how can i configure the logging to have a FileHandler that does daily rolling (like Log4J DailyRollingFileAppender) and offer a a date pattern for the file name (like Log4J DatePattern)?
    the result should be that each day, a new log file is created with the old files having a datepattern in the file names.

    Well, i wrote my own now, that supports time rolling (day, week, month, year) and later additional rollings. here's a start:
    import java.io.*;
    import java.text.SimpleDateFormat;
    import java.util.*;
    import java.util.logging.*;
    * File handler that supports different kind of rolling than java.util.logging.FileHandler.
    * Supported rolling methods are: by date (day).
    * <p>
    * Example of entries in the logging file (system property "java.util.logging.config.file"):
    * <p>
    <table align="center" bgcolor="#ddddff" border=1 cellpadding="10" cellspacing="0"><tr><td><pre>
    logging.RollingFileHandler.level = FINEST
    logging.RollingFileHandler.prefix = MyApp_
    logging.RollingFileHandler.dateFormat = yyyyMMdd
    logging.RollingFileHandler.suffix = .log
    logging.RollingFileHanlder.cycle=day
    logging.RollingFileHandler.formatter = java.util.logging.SimpleFormatter
    </pre></td></tr></table>
    <p>
    * @version $Revision:$ ($Date:$)
    * @author $Author:$
    public class RollingFileHandler extends StreamHandler {
        /** File prefix. */
        private static String prefix = null;
        /** Date format to use in file name. */
        private static String dateFormat = "yyyy-MM-dd"; //default
        /** File suffix. */
        private static String suffix = null;
        /** Time in milliseconds for the next cycle */
        private static long nextCycle = 0;
        /** Time cycle (for file roling) */
        private static String cycle = "day"; //default
         * Constructor.
        public RollingFileHandler() {
            super();
            LogManager manager = LogManager.getLogManager();
            String className = RollingFileHandler.class.getName();
            prefix = manager.getProperty(className + ".prefix");
            String dfs = manager.getProperty(className + ".dateFormat");
            suffix = manager.getProperty(className + ".suffix");
            String c = manager.getProperty(className + ".cycle");
            String formatter = manager.getProperty(className + ".formatter");
            if (dfs != null) {
                dateFormat = dfs;
            if (c != null) {
                if (c.equalsIgnoreCase("day") || c.equalsIgnoreCase("week") || c.equalsIgnoreCase("month") || c.equalsIgnoreCase("year")) {
                    cycle = c;
            if (formatter != null) {
                try {
                    setFormatter((Formatter) Class.forName(formatter).newInstance());
                } catch (Exception e) {
                    e.printStackTrace(System.err);
            openFile();
        }//RollingFileHandler()
          * Open existing or create new log file.
         private synchronized void openFile() {
            //create file name:
            String dateString = dateFormat; //default (to note error in file name)
            Date currentDate= new Date();
            try {
                SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, Locale.getDefault());
                dateString = sdf.format(currentDate);
            } catch (IllegalArgumentException iae) {
                /* ignore wrong date format */
            //compute next cycle:
            Date nextDate = null;
            GregorianCalendar gc = new GregorianCalendar();
            gc.setTime(currentDate);
            if (cycle.equalsIgnoreCase("week")) {
                gc.add(Calendar.WEEK_OF_YEAR, 1);
                nextDate = gc.getTime();
            } else if (cycle.equalsIgnoreCase("month")) {
                gc.add(Calendar.MONTH, 1);
                int month = gc.get(Calendar.MONTH);
                int year = gc.get(Calendar.YEAR);
                GregorianCalendar gc2 = new GregorianCalendar(year, month, 1);
                nextDate = gc2.getTime();
            } else if (cycle.equalsIgnoreCase("year")) {
                gc.add(Calendar.YEAR, 1);
                int year = gc.get(Calendar.YEAR);
                GregorianCalendar gc2 = new GregorianCalendar(year, 0, 1);
                nextDate = gc2.getTime();
            } else { //day by default
                gc.add(Calendar.DAY_OF_MONTH, 1);
                nextDate = gc.getTime();
            //to zero time:
            gc = new GregorianCalendar();
            gc.setTime(nextDate);
            gc.set(Calendar.HOUR, 0);
            gc.set(Calendar.HOUR_OF_DAY, 0);
            gc.set(Calendar.MINUTE, 0);
            gc.set(Calendar.SECOND, 0);
            gc.set(Calendar.MILLISECOND, 0);
            nextDate = gc.getTime();
            nextCycle = nextDate.getTime();
            //create new file:
            String fileName = prefix + dateString + suffix;
            File file = new File(fileName);
            //create file:
            if (!file.exists()) {
                try {
                    file.createNewFile();
                } catch (IOException ioe) {
                    ioe.printStackTrace(System.err);
            //set log file as OutputStream:
            try {
                FileOutputStream fos = new FileOutputStream(file, true);
                setOutputStream(fos);
            } catch (FileNotFoundException fnfe) {
                reportError(null, fnfe, ErrorManager.OPEN_FAILURE);
                fnfe.printStackTrace(System.err);
                setOutputStream(System.out); //fallback stream
        }//openFile()
         * Overwrites super.
        public synchronized void publish(LogRecord record) {
            if (!isLoggable(record)) {
                return;
            super.publish(record);
            flush();
            //check if we need to rotate
            if (System.currentTimeMillis() >= nextCycle) { //next cycle?
                role();
        }//publish()
          * Role file. Close current file and possibly create new file.
         final private synchronized void role() {
            Level oldLevel = getLevel();
            setLevel(Level.OFF);
            super.close();
            openFile();
            setLevel(oldLevel);
        }//rotate()
    }//RollingFileHandler

  • Logging api hangs

    Im starting a java application from an applet calling Runtime.getRuntime().exec("java bla bla bla")
    Worked fine until I implemented Java 1.4 logging api. Now the application hangs after writing a few info lines to a FileHandler log. It's clearly the logger that hangs because if I set log level = OFF the the program runs just fine.
    Has anyone seen anything similar?
    * To make it harder to debug, the problem only occurs when starting the application from an applet.

    That might happen that spawn process generates lots of output.
    Runtime.getRuntime().exec() returns object of type java.lange.Process. That object provide access to the stdout and stderror of the newly created process. If those streams are not cleaned properly then process will hang as soon as OS buffers of those stdout and stderr streams get full.
    One way to work around it just read output from the process and throw it away. You can try using something like this:
    package com.xxx;
    import java.io.InputStream;
    public class ProcessOutputWaster {
        public ProcessOutputWaster(Process process)
            throws Exception {
            createWorker(process.getErrorStream()).start();
            createWorker(process.getInputStream()).start();
        protected Worker createWorker(InputStream is) {
            return new Worker(is);
        protected static class Worker
                  extends Thread {
            private InputStream inputStream_;
            public Worker(InputStream inputStream) {
                inputStream_ = inputStream;
            public void run() {
                if (getInputStream() != null) {
                    try {
                        byte[] buffer = new byte[1024];
                        int read;
                        while(true) {
                            read = inputStream_.read(buffer);
                            if (read < 0)
                               break;
                    catch(Exception ex) {
                        Handle the error some how. E.g. show the error box.
    Process process = Runtime.getRuntime().exec(strCommand);
    ProcessOutputWaster outputWaster = new ProcessOutputWaster(process);

  • JDK Logging configuration

    Hi ,
    trying to configure logging for an EAR application.
    Environment:
    ============
    Oracle fustion middlware 11g (Weblogic 10.3)
    OS: 64bit RH linux
    Deployment target for the application is the AdminServer in the ECM domain. This domain constains the managed server UCM_server1 and IBR_server1.
    WL Startup params for logging:
    -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
    -Djava.util.logging.config.file=/opt/oracle/middleware/user_projects/domains/ecm_domain/logging.properties
    admin console settings:
    ==============================
    Environment->Servers->AdminServer->Logging the logging implementation is set to JDK
    logging.properties
    ==================
    handlers=weblogic.logging.ServerLoggingHandler,java.util.logging.FileHandler
    .level=INFO
    #default file output is in user's home directory.
    java.util.logging.FileHandler.pattern = /opt/oracle/middleware/user_projects/domains/ecm_domain/cust.log
    java.util.logging.FileHandler.limit = 50000
    java.util.logging.FileHandler.count = 1
    java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
    # Limit the message that are printed on the console to INFO and above.
    java.util.logging.ConsoleHandler.level = FINE
    java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
    weblogic.logging.ServerLoggingHandler.level=FINE
    # set 3rd party libs to SEVERE
    org.apache.commons.level=SEVERE
    org.apache.commons.httpclient.level=SEVERE
    httpclient.wire.level=SEVERE
    org.apache.struts2.level=SEVERE
    # com.opensymphony.level=SEVERE
    com.opensymphony.level=SEVERE
    org.apache.tiles.level=SEVERE
    org.apache.axis.level=SEVERE
    org.apache.tiles.level=SEVERE
    freemark.level=SEVERE
    com.<our own package>.level=FINE
    com.<our other package>.level=INFO
    jar file setup: (according to doc http://download.oracle.com/docs/cd/E14571_01/web.1111/e13739/config_logs.htm#i1015532)
    ===============
    placed
    com.bea.core.apache.commons.logging_1.1.0.jar (found this file in modules, although the docs say wl does not ship these . . . )
    com.bea.core.weblogic.commons.logging_1.4.0.0.jar (the documentation specified 1.3.0.0 but i couldn't find that one)
    checked that the wlcommons-logging.jar exists in /opt/oracle/middleware/wlserver_10.3/server/lib
    The deployment unit is a standard EAR file with WEB and EJB modules. Packages within APP-INF/lib and WEB-INF/lib
    are various thirdparty jars (commons, struts, tiles etc.)
    Unfortunately, I don't see any of the FINE (commons.Logger.debug) messages. All messages from the 3rd party packages seem to be ignored, when the severity levels were set to INFO, FINE etc.
    What am i missing something in the configuration ? Are the messages (debug,info, 3rd party messages) written to another logfile ? I've checked
    the console, the AdminServer.log and the cust.log files.
    thanks
    Michael

    Hi,
    i gave up on jdk logging and attepted log4j.
    Found an interesting article: http://www.theserverlabs.com/blog/2010/04/22/dynamically-changing-log-level-with-weblogic-log4j-jmx-and-wlst/
    and forcing JCL and log4j to read from the app classpath worked.
    in the weblogic-application.xml
         <wls:prefer-application-packages>
    <wls:package-name>org.apache.commons.logging.*</wls:package-name>
              <wls:package-name>org.apache.log4j.*</wls:package-name>
         </wls:prefer-application-packages>
    basically this works (haven't tried the dynamic changing of loglevels). But this led to further problems.
    I'm using struts2 (2.2.1) with tiles (2.0.6) plus various other 3rd party libraries. One of these libs depends on an XML implementation (xerces). When deploying with the above configuration deployment failed when the tiles container tried to initialise the definitions while reading the tiles.xml file. The problem was that it was loading the xercesImpl.jar shipped for one of the 3rd party apps.
    Removing xercesImpl.ja from APP-INF/lib fixed that problem but caused the 3rd party app to fail. Upgrading the xercesImpl caused the deployment to fail (stacktrace below)
    I guess i'm delving into the reamlms of classloading within weblogic. What i don't quite understand yet is if the packages org.apache.commons, and log4j where specified as those to be preferred from the local classpath why would that effect the loading of the XML parser ?
    I would have thought that the instructiosn above mean 'only prefer those packages from the APP-INF/lib dir' ...
    any help in this matter would be greatly appreciated.
    thanks,
    Michael
    weblogic.management.DeploymentException: javax.xml.stream.XMLStreamException: Premature end of file encountered
         at weblogic.application.internal.EarDeploymentFactory.findOrCreateComponentMBeans(EarDeploymentFactory.java:188)
         at weblogic.application.internal.MBeanFactoryImpl.findOrCreateComponentMBeans(MBeanFactoryImpl.java:48)
         at weblogic.application.internal.MBeanFactoryImpl.createComponentMBeans(MBeanFactoryImpl.java:110)
         at weblogic.application.internal.MBeanFactoryImpl.initializeMBeans(MBeanFactoryImpl.java:76)
         at weblogic.management.deploy.internal.MBeanConverter.createApplicationMBean(MBeanConverter.java:89)
         Truncated. see log file for complete stacktrace
    Caused By: javax.xml.stream.XMLStreamException: Premature end of file encountered
         at weblogic.xml.stax.XMLStreamReaderBase.prime(XMLStreamReaderBase.java:69)
         at weblogic.xml.stax.XMLStreamReaderBase.setInput(XMLStreamReaderBase.java:99)
         at weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:316)
         at weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:49)
         at weblogic.application.descriptor.BasicMunger2.<init>(BasicMunger2.java:111)
         Truncated. see log file for complete stacktrace
    >
    <09.05.2011 10:17 Uhr MESZ> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1304929068317' for task '0'. Error is: 'weblogic.management.DeploymentException: javax.xml.stream.XMLStreamException: Premature end of file encountered'
    weblogic.management.DeploymentException: javax.xml.stream.XMLStreamException: Premature end of file encountered
         at weblogic.application.internal.EarDeploymentFactory.findOrCreateComponentMBeans(EarDeploymentFactory.java:188)
         at weblogic.application.internal.MBeanFactoryImpl.findOrCreateComponentMBeans(MBeanFactoryImpl.java:48)
         at weblogic.application.internal.MBeanFactoryImpl.createComponentMBeans(MBeanFactoryImpl.java:110)
         at weblogic.application.internal.MBeanFactoryImpl.initializeMBeans(MBeanFactoryImpl.java:76)
         at weblogic.management.deploy.internal.MBeanConverter.createApplicationMBean(MBeanConverter.java:89)
         Truncated. see log file for complete stacktrace
    Caused By: javax.xml.stream.XMLStreamException: Premature end of file encountered
         at weblogic.xml.stax.XMLStreamReaderBase.prime(XMLStreamReaderBase.java:69)
         at weblogic.xml.stax.XMLStreamReaderBase.setInput(XMLStreamReaderBase.java:99)
         at weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:316)
         at weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:49)
         at weblogic.application.descriptor.BasicMunger2.<init>(BasicMunger2.java:111)

  • Practical use of Java Logging API

    There was a recent technical tip about the Java Logging API, but after reading it I still don't understand how to use it in a real situation.
    Can anyone help me with this with a practical example?
    At the moment I have try-catch clauses that catch exceptions and print a message in a System.err log that I can consult if there's a specific problem.
    How should I be using the Logging API? I feel sure that it can help me, but can't see how.
    Thanks for any practical information.

    What if you don't want to write to system.err anymore? What if you need to write something to the windows event log? What if system.err is irrelevant (nt service), ...
    Btw, lots of examples on the JDK1.4 logging api:
    http://www.esus.com/docs/GetIndexPage.jsp?uid=265

  • How to set NC Log API

    Hi all,
    I want to use the following NC log API,but I don't know how to initialize the interface's java object and set the parameter "ApplicationVO".
    Interface LogNCApplicationInterface
    Method ApplicationVO addNDone(ApplicationVO applicationvo)
    Please help me.Thank you!
    Qiang Liu

    if you just need to log an NC the minimum fields you need to set are the following:
    CreateNCRequest ncRequest = new CreateNCRequest();
    ncRequest.setActivity("NC500"); // activity where NC is logged - can be any name
    ncRequest.setSfcRef(new SFCBOHandle(site, sfcParent).toString());// the SFC for which you are reporting an NC
    // ncRequest.setValidateNCCodeOperation(true); // no need to set it, it's true by default
    // nc code reference for nc code that is reported
    // nc code must exist in the system
    ncRequest.setNcCodeRef(new NCCodeBOHandle(site,"NCCODE").toString());
    // required custom fields must be set
    CreateNCResponse ncResponse = ncPSI.createNC(ncRequest);

  • Setting Logging API config file

    Hi,
    Is there a way I can set the Logging API's config file (java.util.logging.config.file) from within my program? I have tried using System.setProperty but it doesn't seem to work. The only way I seem to be able to set the property is with -D on the command line.
    Thanks
    Rob

    Is there a way I can set the Logging API's config file (java.util.logging.config.file) from within my program? I have tried using System.setProperty but it doesn't seem to work. The only way I seem to be able to set the property is with -D on the command line.Read the Logging Overview Dokumentation
    anyway
    InputStream inputStream = new FileInputStream("logging.properties");
    LogManager.getLogManager().readConfiguration(inputStream);
    ...

  • Logging API AdapterFramework 3.0

    Hello,
    i still wonder why it was necessary to provide an own API for Logging and Tracing inside the Adapter Framework.
    The Web AS Logging API does the same.
    Developing an JCA Adapter that can be used inside the XI Adapter Framework and as a Basic JCA 1.0 Adapter in the Web AS, theres's need to provide support for both APIs.
    Has anyone an idea to solve this problem?

    There is a lot of logging to the console with 2.3.0 RC1 when I am doing
    any trips to the datastore, is it possible to switch this off? I am
    using Kodo.rar in Jboss 3.0.0Remove the 'com.solarmetric.kodo.Logger' property from your properties file. You can also remove it from the Properties instance you use to construct the PersistenceManagerFactory. If you'd like to log to a file instead, change the property to the name of a file to log to.

  • Forum help for Logging api

    I need help with logging api. Which developer forum do I have to use for the same. Thanks.

    Have you got the SAP Wrapper for logging API? if you got, can you give it to me:)

  • Is this logging code faster than using a standard logging API like log4J

    is this logging code faster than using a standard logging API like log4J or the logging API in java 1.4
    As you can see my needs are extremely simple. write some stuff to text file and write some stuff to dos window.
    I am thinking about using this with a multi threaded app. So all the threads ~ 200 will be using this simultaneously.
    * Tracer.class logs items according to the following criteria:
    * 2 = goes to text file Crawler_log.txt
    * 1 = goes to console window because it is higher priority.
    * @author Stephen
    * @version 1.0
    * @since June 2002
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.text.*;
    class Tracer{
    public static void log(int traceLevel, String message, Object value)
    if(traceLevel == 1){
    System.out.println(getLogFileDate(new Date()) +" >" + message+ " value = " + value.toString()););
    }else{
    pout.write(getLogFileDate(new Date()) +" >" + message + " value = " + value.toString());
    pout.flush();
    public static void log(int traceLevel, String message )
    if(traceLevel == 1){System.out.println(message);
    }else{
    pout.write(message ) ;
    pout.flush();
    //public static accessor method
    public static Tracer getTracerInstance()
    return tracerInstance;
    private static String getLogFileDate(Date d )
    String s = df.format(d);
    String s1= s.replace(',','-');
    String s2= s1.replace(' ','-');
    String s3= s2.replace(':','.');
    System.out.println("getLogFileDate() = " + s3 ) ;
    return s3;
    //private instance
    private Tracer(){
    System.out.println("Tracer constructor works");
    df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
    date = new java.util.Date();
    try{
    pout = new PrintWriter(new BufferedWriter(new FileWriter("Crawler_log"+getLogFileDate(new Date())+".txt", true)));
    pout.write("**************** New Log File Created "+ getLogFileDate(new Date()) +"****************");
    pout.flush();
    }catch (IOException e){
    System.out.println("**********THERE WAS A CRITICAL ERROR GETTING TRACER SINGLETON INITIALIZED. APPLICATION WILL STOP EXECUTION. ******* ");
    public static void main(String[] argz){
    System.out.println("main method starts ");
    Tracer tt = Tracer.getTracerInstance();
    System.out.println("main method successfully gets Tracer instance tt. "+ tt.toString());
    //the next method is where it fails - on pout.write() of log method. Why ?
    tt.log(1, "HIGH PRIORITY");
    System.out.println("main method ends ");
    //private static reference
    private static Tracer tracerInstance = new Tracer();
    private static Date date = null;
    private static PrintWriter pout = null;
    public static DateFormat df = null;
    }

    In general I'd guess that a small, custom thing will be faster than a large, generic thing with a lot of options. That is, unless the writer of the small program have done something stupid, og the writer of the large program have done something very smart.
    One problem with java in this respect is that it is next to impossible to judge exactly how much machine-level processing a single java statement takes. Things like JIT compilers makes it even harder.
    In the end, there is really only one way to find out: Test it.

  • How to configure WL 10.3 to used log4j instead of jdk logging

    Hi,
    How can I configure WL 10.3 to use log4j instead of jdk default logging. I did changed the logging to log4j through the console for the AdminServer and one of the Managed Instance. I try to deploy axis2.war but it fails and complains about apache logger class not found. So wondering what other settings do I need. I even copied log4j-1.2.15.jar & wllog4j.jar in WL_DOMIAN\lib and restaretd the server but still gets the following error is
    'weblogic.application.ModuleException: [HTTP:101216]Servlet: "AxisServlet" failed to preload on startup in Web application: "axis".
    java.lang.ExceptionInInitializerError
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
         at java.lang.Class.newInstance0(Class.java:355)
         at java.lang.Class.newInstance(Class.java:308)
         at weblogic.servlet.internal.WebComponentContributor.getNewInstance(WebComponentContributor.java:223)
         at weblogic.servlet.internal.WebComponentContributor.createServletInstance(WebComponentContributor.java:247)
         at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:255)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
         at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
         at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
         at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:521)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1913)
         at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1887)
         at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1805)
         at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3041)
         at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1374)
         at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:452)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
         at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
         at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
         at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
         at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:629)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:206)
         at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:40)
         at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:140)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:106)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
         at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@70b01a for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Logger) (Caused by org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@70b01a for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Logger))
         at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
         at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
         at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
         at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
         at org.apache.axis2.transport.http.AxisServlet.<clinit>(AxisServlet.java:83)
         ... 50 more
    Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@70b01a for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Logger)
         at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:413)
         at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
         ... 54 more
    Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
         at java.lang.Class.getDeclaredConstructors0(Native Method)
         at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
         at java.lang.Class.getConstructor0(Class.java:2699)
         at java.lang.Class.getConstructor(Class.java:1657)
         at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:410)
         ... 55 moreThanks

    Go to Environments >> servers>> adminServer >> logging >> advanced
    change the default JDK logging to log4j
    by default weblogic provides two types of logging JDK and log4j

  • New handlers for JDK Logging

    Does anyone know of any OpenSource Handlers for JDK Logging such as a JMS Handler, JDBC Handler, SMPT Handler or Daily Rolling File Handler? I would love to use JDK instead of Log4J, but the latter supplies these handlers (appenders) out of the box.

    Huh?
    If you are looking for open source anyways then why not just use log4j?

  • Configure JDK logging per EAR

    I try to find out how to configure the JDK logging for one application (EAR). You can't initialize it your own because you don't have a main method or something similar. Is there any configuration option to set environment settings for an application, or how to configure logging for one application.

    Hi Jan,
    thanks for your answer. I've already read these, but I can't exactly see how it helps me, so I redefine my needs:
    - the application already has some logging implemented (using various log levels),
    - I don't have admin access to the target OC4J(s),
    - I'd like to define default logging levels per package, so that after deployment no configuration will be needed.
    Is it possible, e.g. by packaging j2ee-logging.xml into the EAR? (I've already tried that without success.)
    Thanks,
    Patrik

Maybe you are looking for

  • Create Application performance report

    All, iam trying to implement analytical/graphical/chart report to show the performance of the application at different times/pages. What is the best approach to this? thanks in advance.

  • Defining Check void reasons (for manual checks)

    Hi I am voiding manual checks in FCH9 and FCH8. The check void reasons appearing in drop down are not sufficient. Hence i need to define more check reversal reasons. I went through SPRO node for bank transactions (in FI). But i am not getting it. Ple

  • Printer won't work

    When I go to print from my e-mails, HP print box pops up. Did not do before

  • Part of image click to link

    I am a newbie and need to know how to set it up so part of a image goes to a website. I don't know what it's called to look it up. thank you!

  • Advice for authorization

    hi, we are using discoverer via portal. i create links for discoverer reports and so the users can easily use links to see reports. but the problem is that after passing discoverer viewer, a user can select workbooks and see all departments reports,