IT 소식

 
log4j.rootLogger=info, console
log4j.logger.BatchCheck=info, BatchCheck
log4j.logger.DB_BackUp=info, DB_BackUp

# Direct log messages to stdout
log4j.appender.console=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %5p (%C{2} - %M:%L) - %m%n

# Direct log message to log file
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile.File=D:/work/magna/admin.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %5p (%C{2} - %M:%L) - %m%n
log4j.appender.logfile.Append=true

# BatchCheck.java
log4j.appender.BatchCheck=org.apache.log4j.DailyRollingFileAppender
log4j.appender.BatchCheck.File=D:/work/magna/BatchCheck.log
log4j.appender.BatchCheck.DatePattern='.'yyyy-MM-dd
log4j.appender.BatchCheck.Threshold=info
log4j.appender.BatchCheck.layout=org.apache.log4j.PatternLayout
log4j.appender.BatchCheck.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %5p (%C{2} - %M:%L) - %m%n
log4j.appender.BatchCheck.Append=true

# IfTransferRequest.java
log4j.appender.DB_BackUp=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DB_BackUp.File=D:/work/magna/DB_BackUp.log
log4j.appender.DB_BackUp.DatePattern='.'yyyy-MM-dd
log4j.appender.DB_BackUp.Threshold=info
log4j.appender.DB_BackUp.layout=org.apache.log4j.PatternLayout
log4j.appender.DB_BackUp.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %5p (%C{2} - %M:%L) - %m%n
log4j.appender.DB_BackUp.Append=true
class 파일은 다음과같이 적용한다.
 
import org.apache.log4j.Logger;
public class DB_BackUp {
  private final static Logger logger = Logger.getLogger("DB_BackUp");
}

'프로그래밍 > Java' 카테고리의 다른 글

Map 데이터 출력방법  (0) 2017.11.14

 
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;


public class MapUtil {

	public static void main(String[] args) {

		Map map = new HashMap();
		map.put(1, "AAA");
		map.put(2, "BBB");
		map.put(3, "CCC");
		
		System.out.println("\n ##### 방법1 #####");
		for(int key : map.keySet()){
			System.out.println("key:"+key+" value:"+map.get(key));
		}
		
		System.out.println("\n ##### 방법2 #####");
		for(Map.Entry data : map.entrySet()){
			System.out.println("key:"+data.getKey()+" value:"+data.getValue());
		}
		
		System.out.println("\n ##### 방법3 #####");
		Iterator iterater1 = map.keySet().iterator();
		while(iterater1.hasNext()){
			int key = iterater1.next();
			System.out.println("key:"+key+" value:"+map.get(key));
		}
		
		System.out.println("\n ##### 방법4 #####");
		Set keySet = map.keySet();
		Iterator iterator2 = keySet.iterator();
		while(iterator2.hasNext()){
			int key = iterator2.next();
			System.out.println("key:"+key+" value:"+map.get(key));
		}
	}
}

'프로그래밍 > Java' 카테고리의 다른 글

Batch Class 별도로 log4j 파일 설정방법  (0) 2017.12.21

내부함수 

 자바스크립트는 함수 안에서 또 다른 함수를 선언할 수 있다.
function outter(){

    function inner(){

        var name= 'closerTest'; 
        console.log(name); 

    }
    inner();

}
outter();  // closerTest가 출력된다. 



함수 outter의 내부에는 함수 inner가 정의 되어 있다
function outter(){
    var name= 'closerTest'; 

    function inner(){

        console.log(name);

    }
    inner();

}
outter(); // closerTest 가 출력된다. 



클로저(closure)는 내부함수와 밀접한 관계를 가지고 있는 주제다. 
내부함수는 외부함수의 지역변수에 접근 할 수 있는데 외부함수의 실행이 끝나서 외부함수가 
소멸된 이후에도 내부함수가 외부함수의 변수에 접근 할 수 있다. 이러한 메커니즘을 클로저라고 한다.

클로저란 내부함수가 외부함수의 지역변수에 접근 할 수 있고, 

외부함수는 외부함수의 지역변수를 사용하는 내부함수가 소멸될 때까지 소멸되지 않는 특성을 의미한다.

function outter(){
    var name = 'closerTest';  

    return function(){        

        alert(name);

    }
}
inner = outter();
inner();   // closerTest 가 출력된다. 



참고 URL : https://opentutorials.org/course/743/6544