Java ÈÕÖ¾
19.1.1. Spring¶Ôlog4jµÄ¼¸¸öÔöÇ¿
×¢Òâ
¸öÈ˽¨Ò鶼²»ÒªÊ¹Óá£
¶¨Ê±Ë¢ÐÂlog4j.properties£¬ÎÞÐëÖØÆô·þÎñÆ÷¸üÐÂlog4jÉèÖá£ËäÈ»ÕâÊǸöJ2EE Best
Practice£¬µ«ÔÚSpringµÄJavaDocÀï×¢Ã÷Á˲»ÍƼöÓÃÓÚÉú²ú»·¾³£¬ÒòΪ·þÎñÆ÷ÖØÆôµÄʱºò£¬ÄÇÌõwatch thread²»»á¹Ø±Õ¡£
½«
log4j.propertiesÎļþ·ÅÔÚWEB-INF/log4j.properties¡£
ÕâÖÖÔöÇ¿¿´²»³öÓÐʲôºÃ´¦£¬¶øÇÒÈç¹û·Å
WEB-INF£¬²âÊÔµÄʱºò¾Í²»ÄÜÊä³ölog4jÐÅÏ¢ÁË£¬³ý·ÇÏñAppfuseÄÇÑù°ÑWEB-INFÒ²ÉèΪclass
path£¬²»¹ýÕâÖÖÉè·¨Ö»ÊÊÓÃÓÚAnt½Å±¾µÄÇé¿ö¡£
ͨ¹ýÉ趨{web.root}ÕâÑùµÄϵͳ±äÁ¿£¬½«logÎļþ·Åµ½ÏîÄ¿
µÄWEB-INFĿ¼ÖÐ
log4j.appender.logfile.File=${oa.root}/WEB-INF/logs/oa.log
ÕâÑù×öµÄºÃ´¦ÊÇ·¾¶±È½ÏÎȶ¨£¬µ«Èç¹ûÊÇwarʽµÄ²¿Êð£¬Ã¿´ÎÖØв¿ÊðµÄʱºò¾Í»á°ÑÔÀ´µÄ
logÎļþÈ«²¿É¾µô£¬ÓöÉÏjboss ÕâÖÖ²»½âѹwar°üµÄÓ¦Ó÷þÎñÆ÷¾Í¸ü»á³ö´í£¬ËùÒÔ°ÑlogÎļþ·ÅWEB-INF/logs²»ÊÇÒ»¸öºÃµÄÑ¡Ôñ¡£
Æä
ʵlogfile·¾¶µÄ¹æÔòÊÇ£¬Èç¹û²»ÊǾø¶Ô·¾¶£¬¾ÍÒÔÓ¦ÓÃÔËÐеÄĿ¼×÷ΪÏà¶Ô·¾¶µÄ¸ùĿ¼¡£
¿ÉÒÔÕâÑù¶¨Ò壬һ°ã¾ÍÖ¸ÏòtomcatºÍºÜ¶à
Ó¦Ó÷þÎñÆ÷µÄlogsĿ¼£º
log4j.appender.logfile.File=../logs/oa.log
19.1.2. Ĭ
ÈÏдÈë²Ù×÷Ô±ID
±ÈÈçÔÚÒ»¸öServletFilterÀïʵÏÖÈçÏ´úÂë
Customer customer = (Customer) session.getAttribute("customer");
MDC.put("userid", customer.getLoginid());
Ôòlog4j»áḬ̈߳²È«µÄ°Ñcusomer
idдÈëMDCµÄuserId±äÁ¿ÖУ¬¶øuserID±äÁ¿µÄʹÓüûÏ¡£
19.1.3. ºöÂÔijЩÀà¿â¿ò¼ÜµÄ²»±ØÒªµÄÐÅÏ¢
¿ØÖƵÚÈý
·½¿ò¼ÜÀà¿âµÄlogging level£¬¿ÉÒÔ±ÜÃâÂúÆÁ¶¼ÊDz»ÖØÒªµÄinfo£¬°ÑÕæÕýÖØÒªµÄÐÅÏ¢ÑÚ¸ÇÁË¡£
# Changing the log level to DEBUG when debug
log4j.logger.org.springframework=WARN
# Changing the log level to DEBUG will display SQL Hibernate generated
log4j.logger.org.hibernate=WARN
log4j.logger.org.hibernate.SQL=ERROR
19.1.4. °Ñ
ÖØÒªµÄÒµÎñÈÕÖ¾Òì²½ÅúÁ¿Ð´ÈëÊý¾Ý¿â
ÅäÖÃÎļþʾÀý:
log4j.logger.business=INFO,db
log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.db.BufferSize=10
log4j.appender.db.URL=jdbc:hsqldb:res:/hsqldb/bookstore
log4j.appender.db.driver=org.hsqldb.jdbcDriver
log4j.append
Ïà¹ØÎĵµ£º
package arrays.myArray;
public class SortArr {
public static void main(String[] args) {
int[] arrInt = { 4, 7, 8, 5, 6, 3, 2, 3, 4 };
maoPaoSort(arrInt);
print("ðÅÝÅÅÐò£º", arrInt);
arrInt = new int[]{ 4, 7, 8, 5, 6, 3, 2, 3, 4 };
& ......
package collection;
import java.util.*;
public class NewArrayList {
public static void main(String[] args) {
List<Student> students = new ArrayList<Student>();
for (int i = 0; i < 6; i++) {
students.add(new Student("Happy"+i,"male" ......
package collection;
public class Student {
public Student() {}
public Student(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
@Override
public String toString() {
......
JavaÊý¾ÝÀàÐÍÓëת»»
JavaÊý¾ÝÀàÐÍ·ÖΪÈý´óÀà
²¼¶ûÐÍ£¬×Ö·ûÐÍ(char)£¬ÊýÖµÐÍ(ÕûÊý,¸¡µãÐÍ)
ÕûÊýÀàÐÍÓУºbyte(8bits)¡¢short(16bits)¡¢int(32bits)¡¢long(64bits)¡¢
¸¡µãÀàÐÍÓУºµ¥¾«¶È£¨32bits float£©¡¢Ë«¾«¶È£¨64bits double£©
booleanÀàÐͱäÁ¿µÄÈ¡ÖµÓУºture¡¢false
charÊý¾ÝÀàÐÍÓУºunicode×Ö·û,16λ
Êý¾ÝÀàÐÍת» ......
package game;
public class HanTaGame {
public static void main(String[] args) {
fun('1', '2', '3', 2);
}
// ººËþÓÎÏ·½â¾ö·½°¸
public static void fun(char src, char idle, char dest, int n) {
if (1 == n) {
System.out.println(src ......