(OAF)jdeveloper集成log4j并将日志输出到指定文件并写入数据库
参考:
How to configure Log4j in JDev 11g
Ever wanted to use log4j in your adf project ? Well though Oracle doesn’t recommends the use of log4j, i say its purely your choice to use it or not.
So how do we configure log4j in adf ? Pretty simple..just follow these steps
1) Add log4j jars in the project library
2) Create a file log4j.properties in your Application Sources Directory (this folder is seen in jdev – in both ViewController and Model Folder).
For Model project this file has to be present at <path of model project>Model\src.
For ViewController project this file has to be present as <path of model project>ViewController\src
3) Paste the following contents
****************************
# Set root logger level to INFO and its only appender to ConsoleOut.
log4j.rootLogger=INFO,ConsoleOut,F
# ConsoleOut is set to be a ConsoleAppender.
log4j.appender.ConsoleOut=org.apache.log4j.ConsoleAppender
# ConsoleOut uses PatternLayout.
log4j.appender.ConsoleOut.layout=org.apache.log4j.PatternLayout
log4j.appender.ConsoleOut.layout.ConversionPattern=%-5p: [%d] %c{1} – %m%n
log4j.logger.org.apache.jsp=DEBUG
log4j.appender.F=org.apache.log4j.FileAppender
log4j.appender.F.File=C:/Logs/Logger.log
log4j.appender.F.layout=org.apache.log4j.PatternLayout
log4j.appender.F.layout.ConversionPattern=%d{MM-dd@HH:mm:ss,SSS} %-5p (%13F:%L) %3x – %m%n
#Addon for
com.sun.faces.level=FINE
****************************
集成开发测试
1.将log4j jars添加至项目中。
2.新建log4j.properties并将其放入myclasses目录(oacore中将该文件放入$JAVA_TOP目录中),并在其中添加以下内容
3.log4j.properties中的内容(此文件只是一个简略的日志使用,更详细的日志生成设置,请参考官方文档及他人学习笔记)
# Set root logger level to INFO and its only appender to ConsoleOut.
log4j.rootLogger=INFO,ConsoleOut,F,DATABASE
# ConsoleOut is set to be a ConsoleAppender.
log4j.appender.ConsoleOut=org.apache.log4j.ConsoleAppender
# ConsoleOut uses PatternLayout.
log4j.appender.ConsoleOut.layout=org.apache.log4j.PatternLayout
log4j.appender.ConsoleOut.layout.ConversionPattern=%-5p: [%d] %c{} – %m%n
log4j.logger.org.apache.jsp=DEBUG
log4j.appender.F=org.apache.log4j.FileAppender
#由于本地windows系统默认支持中文,所以本地即使不配置编码方式也不会乱码,若在服务器乱码,请调整编码方式
log4j.appender.F.Encoding=GBK
#会将日志文件生成到指定的目录,例如工程在D盘,则生成至D盘的Logs目录
#log4j.appender.F.File=/Logs/Logger.txt #本地测试时,会将日志文件生成至\jdevhome\jdev\system\oracle.j2ee.10.1.3.41.\embedded-oc4j\config\logs目录
#服务器上会将日志生成至apps/tech_st/10.1.3/j2ee/home/logs目录
#服务器若有多个oacore节点,生成的日志结果暂时还不清楚
log4j.appender.F.File=./logs/Logger.txt
log4j.appender.F.DatePattern='.'yyyy-MM-dd
log4j.appender.F.layout=org.apache.log4j.PatternLayout
#log4j.appender.F.layout.ConversionPattern=%d{yyyy-MM-dd@HH:mm:ss,SSS} %-5p (%13F:%L) %3x – %m%n
log4j.appender.F.layout.ConversionPattern=%d{yyyy-MM-dd@HH:mm:ss,SSS} %-5p %c.%M:%L - %m%n #DATABASE
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:oracle:thin:@host:port:SID
log4j.appender.DATABASE.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.DATABASE.user=USERNAME
log4j.appender.DATABASE.password=PASSWORD
log4j.appender.CONSOLE.Threshold=ERROR
log4j.appender.DATABASE.sql=INSERT INTO LOG4J_TEST(stamp,thread, infolevel,class,messages) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m')
# INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
# 写入数据库中的表LOG4J的Message字段中,内容%d(日期)%c: 日志信息所在地(类名)%p: 日志信息级别%m: 产生的日志具体信息 %n: 输出日志信息换行
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=%d %-5p [%c] %m%n
#Addon for
com.sun.faces.level=FINE
4.代码
import org.apache.log4j.Logger; public class XXXCO
extends OAControllerImpl
{ private static Logger logger = Logger.getLogger(XXXCO.class.getName()); public void processRequest(OAPageContext pageContext,
OAWebBean webBean)
{
logger.info("测试 123");
} }
(OAF)jdeveloper集成log4j并将日志输出到指定文件并写入数据库的更多相关文章
- TOMCAT控制台日志输出到指定文件中
1 .修改startup.bat第42行 call "%EXECUTABLE%" start %CMD_LINE_ARGS% 为 call "%EXECUTABLE%&q ...
- zookeeper 日志输出到指定文件夹
最近在研究Zookeeper Storm Kafka, 顺便在本地搭了一套集群, 遇到了Zookeeper日志问题输出路径的问题, 发现zookeeper设置log4j.properties不能解决日 ...
- 《手把手教你》系列基础篇(八十七)-java+ selenium自动化测试-框架设计基础-Log4j 2实现日志输出-上篇(详解教程)
1.简介 Apache Log4j 是一个非常古老的日志框架,并且是多年来最受欢迎的日志框架. 它引入了现代日志框架仍在使用的基本概念,如分层日志级别和记录器. 2015 年 8 月 5 日,该项目管 ...
- log4j2按日志级别输出到指定文件
在项目中,可能会产生非常多的日志记录,为了方便日志分析,一般可以将日志按级别输出到指定文件,本次就先说说log4j2的实现吧: 1.先加入log4j2依赖包 2.写一个java类进行测试,类文件中仅仅 ...
- C#中使用Log4net日志输出到本地文件、Textbox或Listview
网上很多配置log4net的方法,但是排行靠前的 根本就没有说明清除,导致浪费了两个小时来搞清楚如何配置,真是无语,特写此文,给那些刚接触log4net的朋友 1.参考链接:http://blog.s ...
- 不让应用的日志输出到message文件中
有时我们制定一个应用的日志输出到一个文件的时候例如: (百度了好久都百度不好,这里记录一下时间2015年12月7日16:28:39) local7.* ...
- vscode springboot logback 日志输出到不同文件
参照了:https://blog.csdn.net/appleyk/article/details/78717388# 在src\main\resources中新建一个logback-boot.xml ...
- java实现将指定文件夹里所有文件路径输出到指定文件作为参数化文件给lr脚本使用
java实现将指定文件夹里所有文件路径输出到指定文件作为参数化文件给lr脚本使用 import java.io.BufferedReader; import java.io.BufferedWrite ...
- log4j根据包名 日志输出到不同文件中 , service层无法输出日志问题
1. service 层因为要配置事务,使用了代理 <aop:config proxy-target-calss=''true"> <aop:pointcut id=&qu ...
随机推荐
- 弃用的同步get和post请求
#import "ViewController.h" #import "Header.h" @interface ViewController () <N ...
- Unity与Android的相互交互
1.Unity调用Android. Unity块代码: using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.play ...
- UIScrollView常见属性
什么是UIScrollView •设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 • •当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容 • •普通的UIV ...
- OpenGL ES学习笔记(三)——纹理
首先申明下,本文为笔者学习<OpenGL ES应用开发实践指南(Android卷)>的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载. <OpenGL ES学习笔记( ...
- [Nginx][HttpUpstreamModule]翻译负载均衡
英文原文地址:http://nginx.org/en/docs/http/ngx_http_upstream_module.html 大纲: 示例 指令 嵌入变量 ngx_http_upstream_ ...
- 日常工作生活中的做人做事道理[持续更新ing]
1.凡是预则立,不预则废 2.不能用特殊案例说明事情本身的发展规律 3.任务不能拖,需主动出击,想方设法完成 4.工作要有细致化的沟通和安排 5.解决问题和安排任务可以逆向思维的去想 6.问题要举一反 ...
- inux下文件权限设置中的数字表示权限,比如777,677等,这个根据什么得来的
chmod ABC file 其中A.B.C各为一个数字,分别表示User.Group.及Other的权限. A.B.C这三个数字如果各自转换成由“0”.“1”组成的二进制数,则二进制数的每一位分别代 ...
- PHP实战-文章发布系统学习记录
跟随大师的步伐,一步一步向前行进,PHP学习之路中的历程. 如果图片不能正常查看请访问云笔记链接 http://note.youdao.com/share/?id=3c25d8c03ef946d9c6 ...
- 获取某地的经纬度 && 通过经纬度获取相应的地理位置
最近要通过一个经纬度判断该经纬度是否位于某个地区内,所以通过网上查找资料,整合后出了下面的内容. 1.通过地址获取改地址的经纬度 /** * @param addr * 查询的地址 * @return ...
- UVALive 6073 Math Magic
6073 Math MagicYesterday, my teacher taught us about m ...