In BPEL code development, we may use the following lines in a Java Embedding activity to log texts and errors in the Server log files (i.e servername-diagnostic.log)
com.collaxa.ServerLogger.error("SOA_5007", "Severity :3", "SFO-SOA_5007 generic process failed");
java.lang.String ErrorMsg = (String)getVariableData("ErrorMessage");
com.collaxa.ServerLogger.error(ErrorMsg);]
But a server log contains a clutter of information apart from our application specific logged messages. It would be a good thing to do if we can have a custom log file for our application specific logging.
Log4j is a wonderful logging API, which we are going to use in our implementation. We are going to have 2 step configuration -
- Environment Specific Configurations
- Application Specific Configurations
Environment Specific Configurations
1. There are two ways of adding a custom jar for use in your application -
a. Copy log4j-1.2.16.jar to //soa/modules/oracle.soa.ext_11.1.1 and execute ANT script in this directory. This will recreate the oracle.soa.ext.jar file adding the log4j lib to the classpath.
Prerequisites:
Option 1
a) cd to directory of oracle.soa.ext_11.1.1
b) > C:\\\modules\org.apache.ant_1.7.1\bin\ant (in windows)
bash$ ./u01//modules/org.apache.ant_1.7.1/bin/ant (in Unix)
Option 2
In WINDOWS
In environmental variables, set
ANT_HOME = F:\oracle\Middleware\modules\org.apache.ant_1.7.1
Path = %ANT_HOME%\bin
Then from cmd go the directory and type ant and hit enter.
In UNIX
For C shell (csh), edit the startup file (~/.cshrc):
set path=(/usr/local/jdk1.6.0/bin )
For bash, edit the startup file (~/.bashrc):
PATH=/usr/local/jdk1.6.0/bin:
export PATH
For ksh, the startup file is named by the environment variable, ENV. To set the path:
PATH=/usr/local/jdk1.6.0/bin:
export PATH
For sh, edit the profile file (~/.profile):
PATH=/usr/local/jdk1.6.0/bin:
export PATH
Then load the startup file and verify that the path is set
b. Place the jar in /user_projects/domains/domainName/lib
2. Create a new folder for Log4j configuration and log files like /Log4jConfigFiles
3. Add to this folder the configuration files (log4jConfig.xml and log4j.dtd, for example)
4. Set the log file name and path (/Log4jConfigFiles/customErrorLog.log, for example) in the log4jConfig.xml
5. Change the setDomainEnv script(.cmd for windows or .sh for Unix) found in /user_projects/domains//bin to point to Log4j configuration file:
In Unix
JAVA_OPTIONS="-Dlog4j.configuration=file /Log4jConfigFiles/log4jConfig.xml"
In Windows
set JAVA_OPTIONS=-Dlog4j.configuration=file:"/Log4jConfigFiles/log4jConfig.xml"
6. Restart the SOA managed server.
Application Specific Configurations
1. Import log4j-1.2.16.jar to the project libs (right click in the project name and select “Project Properties”, go to “Libraries and Classpath” and add the jar file)
2. Insert a Java Embedding activity
3. In the BPEL source code, import the Logger class adding the code below before the “bpelx:exec” created for the Java Embedding component
4. Edit the Java Embedding activity and insert the necessary log instructions like to test the functionality:
Logger mLogger = Logger.getLogger("myCustomLog");
mLogger.info(" >>>>>>>>> This is my first log4j statement ****************");
mLogger.debug(">>>>>>>>>>>>>>>Logger Debug Stmt");
mLogger.error(">>>>>>>>>>>>>>>Logger Errorrr");
java.lang.String ErrorTrace = ((org.w3c.dom.Element)getVariableData("inputVariable","payload","/client:process/client:input")).getFirstChild().getNodeValue();
mLogger.info("erroorrr trace ::::"+ErrorTrace);
mLogger.info(ErrorTrace);
All the files mentioned in this post can be downloaded from here .
You can also find a working SOA project inside the downloaded zip named "TestCustomLog.zip" implementing the above described functionality.
________________
thanks, D
It 's an amazing and awesome blog
ReplyDeleteOracle SOA Online Training
çekmeköy bosch klima servisi
ReplyDeleteataşehir bosch klima servisi
kartal arçelik klima servisi
ümraniye arçelik klima servisi
çekmeköy vestel klima servisi
ataşehir vestel klima servisi
çekmeköy beko klima servisi
ataşehir beko klima servisi
maltepe lg klima servisi
lisans satın al
ReplyDeleteen son çıkan perde modelleri
uc satın al
yurtdışı kargo
nft nasıl alınır
minecraft premium
en son çıkan perde modelleri
özel ambulans