- 3,715,999 Users
- 2,242,927 Discussions
- 7,845,731 Comments
Forum Stats
Discussions
Categories
- 17 Data
- 362.2K Big Data Appliance
- 7 Data Science
- 1.6K Databases
- 476 General Database Discussions
- 3.7K Java and JavaScript in the Database
- 22 Multilingual Engine
- 487 MySQL Community Space
- 5 NoSQL Database
- 7.6K Oracle Database Express Edition (XE)
- 2.8K ORDS, SODA & JSON in the Database
- 417 SQLcl
- 42 SQL Developer Data Modeler
- 184.9K SQL & PL/SQL
- 21K SQL Developer
- 1.9K Development
- 3 Developer Projects
- 32 Programming Languages
- 135.1K Development Tools
- 9 DevOps
- 3K QA/Testing
- 256 Java
- 6 Java Learning Subscription
- 10 Database Connectivity
- 67 Java Community Process
- 1 Java 25
- 9 Java APIs
- 141.1K Java Development Tools
- 6 Java EE (Java Enterprise Edition)
- 153K Java Essentials
- 135 Java 8 Questions
- 86.2K Java Programming
- 270 Java Lambda MOOC
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 10 Java SE
- 13.8K Java Security
- 3 Java User Groups
- 22 JavaScript - Nashorn
- 18 Programs
- 125 LiveLabs
- 30 Workshops
- 9 Software
- 3 Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 3 Deutsche Oracle Community
- 11 Español
- 1.9K Japanese
- 2 Portuguese
weblogic91使用扩展日志格式设置 HTTP 访问日志问题
weblogic91使用扩展日志格式设置 HTTP 访问日志
登录console-Servers-AdminServer(admin)-Logging-选择http-Advanced-
其中Format 选择Extended
Extended Logging Format Fields : x-TrueIP date time cs-method cs-uri sc-status bytes cs(Referer) cs(User-Agent) cs(cookie)
其中x-TrueIP为自定义字段
class 如下:
import weblogic.servlet.logging.CustomELFLogger;
import weblogic.servlet.logging.FormatStringBuffer;
import weblogic.servlet.logging.HttpAccountingInfo;
public class TrueIP implements CustomELFLogger
{
//获取真实client ip
public void logField(HttpAccountingInfo metrics, FormatStringBuffer buff)
{
String ip = metrics.getHeader("X-Forwarded-For");
if(ip == null || ip.length() == 0) {
ip=metrics.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0) {
ip=metrics.getRemoteAddr();
}
buff.appendValueOrDash(metrics.getHeader("ip"));
}
}
将TrueIP.class 增加到weblogic 的 setDomainEnv.sh 中
# SET THE CLASSPATH
CLASSPATH="${PRE_CLASSPATH}${CLASSPATHSEP}${WEBLOGIC_CLASSPATH}${CLASSPATHSEP}${POST_CLASSPATH}${CLASSPATHSEP}${WLP_POST_CLASSPATH}${CLASSPATHSEP}${WL_HOME}/integration/lib/util.jar::/home/weblogic/bea/user_projects/domains/base_domain/bin/TrueIP.class"
export CLASSPATH
重新启动weblogic nohup ./startWebLogic.sh >log&
报错信息如下:
WLS Start Mode=Development
.
CLASSPATH=:/home/weblogic/bea/patch_weblogic910/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/weblogic/bea/jdk150_04/lib/tools.jar:/home/weblogic/bea/weblogic91/server/lib/weblogic_sp.jar:/home/weblogic/bea/weblogic91/server/lib/weblogic.jar:/home/weblogic/bea/weblogic91/server/lib/webservices.jar::/home/weblogic/bea/weblogic91/common/eval/pointbase/lib/pbclient51.jar:/home/weblogic/bea/weblogic91/server/lib/xqrl.jar::/home/weblogic/bea/weblogic91/integration/lib/util.jar::/home/weblogic/bea/user_projects/domains/base_domain/bin/TrueIP.class:
.
PATH=/home/weblogic/bea/weblogic91/server/bin:/home/weblogic/bea/jdk150_04/jre/bin:/home/weblogic/bea/jdk150_04/bin:/usr/java/jdk1.5.0_11/bin:/usr/java/jdk1.5.0_11/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
.
***************************************************
* To start WebLogic Server, use a username and *
* password assigned to an admin-level user. For *
* server administration, use the WebLogic Server *
* console at http://hostname:port/console *
***************************************************
starting weblogic with Java version:
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode)
Starting WLS with line:
/home/weblogic/bea/jdk150_04/bin/java -client -Xms1024m -Xmx1024m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m -Xverify:none -da -Dplatform.home=/home/weblogic/bea/weblogic91 -Dwls.home=/home/weblogic/bea/weblogic91/server -Dwli.home=/home/weblogic/bea/weblogic91/integration -Dweblogic.management.discover=true -Dweblogic.ProductionModeEnabled= -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/home/weblogic/bea/patch_weblogic910/profiles/default/sysext_manifest_classpath -Dweblogic.Name=AdminServer -Djava.security.policy=/home/weblogic/bea/weblogic91/server/lib/weblogic.policy weblogic.Server
<2010-6-4 上午11时00分25秒 CST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) Client VM Version 1.5.0_04-b05 from Sun Microsystems Inc.>
<2010-6-4 上午11时00分26秒 CST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 9.1 Mon Dec 12 19:26:33 EST 2005 689178 >
<2010-6-4 上午11时00分28秒 CST> <Info> <WebLogicServer> <BEA-000215> <Loaded License : /home/weblogic/bea/license.bea>
<2010-6-4 上午11时00分28秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
<2010-6-4 上午11时00分28秒 CST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool>
<2010-6-4 上午11时00分28秒 CST> <Notice> <Log Management> <BEA-170019> <The server log file /home/weblogic/bea/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log is opened. All server side log events will be written to this file.>
<2010-6-4 上午11时00分28秒 CST> <Error> <Socket> <BEA-000438> <Unable to load performance pack. Using Java I/O instead. Please ensure that libmuxer library is in :'/home/weblogic/bea/jdk150_04/jre/lib/i386/client:/home/weblogic/bea/jdk150_04/jre/lib/i386:/home/weblogic/bea/jdk150_04/jre/../lib/i386:/home/weblogic/bea/patch_weblogic910/profiles/default/native:/home/weblogic/bea/weblogic91/server/native/linux/x86_64:/home/weblogic/bea/weblogic91/server/native/linux/x86_64/oci920_8'
>
<2010-6-4 上午11时00分29秒 CST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
<2010-6-4 上午11时00分31秒 CST> <Error> <HTTP> <BEA-101231> <HTTP log file does not use version 1.0 of the Extended Log File format.>
<2010-6-4 上午11时00分31秒 CST> <Error> <HTTP> <BEA-101234> <Attempting to initialize ExtendedLogFormat application specific header: x-TrueIP. However, failed due to exception.>
<2010-6-4 上午11时00分31秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY>
<2010-6-4 上午11时00分31秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
参考文档:http://edocs.weblogicfans.net/wls/docs92/config_wls/web_server.html#wp1059475
登录console-Servers-AdminServer(admin)-Logging-选择http-Advanced-
其中Format 选择Extended
Extended Logging Format Fields : x-TrueIP date time cs-method cs-uri sc-status bytes cs(Referer) cs(User-Agent) cs(cookie)
其中x-TrueIP为自定义字段
class 如下:
import weblogic.servlet.logging.CustomELFLogger;
import weblogic.servlet.logging.FormatStringBuffer;
import weblogic.servlet.logging.HttpAccountingInfo;
public class TrueIP implements CustomELFLogger
{
//获取真实client ip
public void logField(HttpAccountingInfo metrics, FormatStringBuffer buff)
{
String ip = metrics.getHeader("X-Forwarded-For");
if(ip == null || ip.length() == 0) {
ip=metrics.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0) {
ip=metrics.getRemoteAddr();
}
buff.appendValueOrDash(metrics.getHeader("ip"));
}
}
将TrueIP.class 增加到weblogic 的 setDomainEnv.sh 中
# SET THE CLASSPATH
CLASSPATH="${PRE_CLASSPATH}${CLASSPATHSEP}${WEBLOGIC_CLASSPATH}${CLASSPATHSEP}${POST_CLASSPATH}${CLASSPATHSEP}${WLP_POST_CLASSPATH}${CLASSPATHSEP}${WL_HOME}/integration/lib/util.jar::/home/weblogic/bea/user_projects/domains/base_domain/bin/TrueIP.class"
export CLASSPATH
重新启动weblogic nohup ./startWebLogic.sh >log&
报错信息如下:
WLS Start Mode=Development
.
CLASSPATH=:/home/weblogic/bea/patch_weblogic910/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/weblogic/bea/jdk150_04/lib/tools.jar:/home/weblogic/bea/weblogic91/server/lib/weblogic_sp.jar:/home/weblogic/bea/weblogic91/server/lib/weblogic.jar:/home/weblogic/bea/weblogic91/server/lib/webservices.jar::/home/weblogic/bea/weblogic91/common/eval/pointbase/lib/pbclient51.jar:/home/weblogic/bea/weblogic91/server/lib/xqrl.jar::/home/weblogic/bea/weblogic91/integration/lib/util.jar::/home/weblogic/bea/user_projects/domains/base_domain/bin/TrueIP.class:
.
PATH=/home/weblogic/bea/weblogic91/server/bin:/home/weblogic/bea/jdk150_04/jre/bin:/home/weblogic/bea/jdk150_04/bin:/usr/java/jdk1.5.0_11/bin:/usr/java/jdk1.5.0_11/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
.
***************************************************
* To start WebLogic Server, use a username and *
* password assigned to an admin-level user. For *
* server administration, use the WebLogic Server *
* console at http://hostname:port/console *
***************************************************
starting weblogic with Java version:
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode)
Starting WLS with line:
/home/weblogic/bea/jdk150_04/bin/java -client -Xms1024m -Xmx1024m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m -Xverify:none -da -Dplatform.home=/home/weblogic/bea/weblogic91 -Dwls.home=/home/weblogic/bea/weblogic91/server -Dwli.home=/home/weblogic/bea/weblogic91/integration -Dweblogic.management.discover=true -Dweblogic.ProductionModeEnabled= -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/home/weblogic/bea/patch_weblogic910/profiles/default/sysext_manifest_classpath -Dweblogic.Name=AdminServer -Djava.security.policy=/home/weblogic/bea/weblogic91/server/lib/weblogic.policy weblogic.Server
<2010-6-4 上午11时00分25秒 CST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) Client VM Version 1.5.0_04-b05 from Sun Microsystems Inc.>
<2010-6-4 上午11时00分26秒 CST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 9.1 Mon Dec 12 19:26:33 EST 2005 689178 >
<2010-6-4 上午11时00分28秒 CST> <Info> <WebLogicServer> <BEA-000215> <Loaded License : /home/weblogic/bea/license.bea>
<2010-6-4 上午11时00分28秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
<2010-6-4 上午11时00分28秒 CST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool>
<2010-6-4 上午11时00分28秒 CST> <Notice> <Log Management> <BEA-170019> <The server log file /home/weblogic/bea/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log is opened. All server side log events will be written to this file.>
<2010-6-4 上午11时00分28秒 CST> <Error> <Socket> <BEA-000438> <Unable to load performance pack. Using Java I/O instead. Please ensure that libmuxer library is in :'/home/weblogic/bea/jdk150_04/jre/lib/i386/client:/home/weblogic/bea/jdk150_04/jre/lib/i386:/home/weblogic/bea/jdk150_04/jre/../lib/i386:/home/weblogic/bea/patch_weblogic910/profiles/default/native:/home/weblogic/bea/weblogic91/server/native/linux/x86_64:/home/weblogic/bea/weblogic91/server/native/linux/x86_64/oci920_8'
>
<2010-6-4 上午11时00分29秒 CST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
<2010-6-4 上午11时00分31秒 CST> <Error> <HTTP> <BEA-101231> <HTTP log file does not use version 1.0 of the Extended Log File format.>
<2010-6-4 上午11时00分31秒 CST> <Error> <HTTP> <BEA-101234> <Attempting to initialize ExtendedLogFormat application specific header: x-TrueIP. However, failed due to exception.>
<2010-6-4 上午11时00分31秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY>
<2010-6-4 上午11时00分31秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
参考文档:http://edocs.weblogicfans.net/wls/docs92/config_wls/web_server.html#wp1059475
Tagged:
This discussion has been closed.