검색 상세

JAVA 오픈소스 기반의 개인화를 지원하는 Log Framework 구축

Building The Log Framework to Support Personalization Based on Java Open Source

초록/요약 도움말

Log란 프로그램 개발이나 운영시 시스템의 문제점을 파악하거나 운영상태에서 모니터링하는 텍스트를 말한다. 온라인 시스템을 개발, 운영하다 보면 다양한 문제점을 만나게 된다. 시스템 개발, 운영자는 로그를 기반으로 문제점의 원인을 추적한다. 시스템 개발시에는 개발자 및 테스터등 몇몇 사람들만 사용하기 때문에 로그 추적이 간단하다. 하지만 운영시점에서는 시스템 특성에 따라 다양한 사용자들이 동시에 사용하기 때문에 로그 추적이 어렵다. 심한 경우 로그 추적을 하지 못해 원인 추적을 포기하는 경우도 왕왕 발생된다. 본 논문에서는 시스템 운영시 발생할 수 있는 로그 추적의 어려움을 쉽게 하는 방법을 제안하였다. Logback에서 제공하는 기능을 이용하여 런타임시 로그를 IP/ID기반으로 발생시킬수 있는 방법이다. DB에 추적 하고자 하는 사용자의 ID/IP를 저장하고, WAS가 기동시 추적하고자 사용자의 IP/ID를 메모리에 적재한다. 온라인 서비스가 실행되기전 Interceptor가 실행되어 로그 파일이 적재될지 판단하여 특정 사용자가 요청하는 서비스를 별도의 로그 파일에 생성하게 된다. 모든 서비스가 Interceptor를 거쳐 서비스가 수행되어야 하는 부담이 발생하지만 JVM안에서 연산이 발생하므로 시스템 부하가 크지 않다. 로그를 개인화 하는 것은 시스템의 문제가 발생한 이후의 대처방법이다. 하지만 계속되는 오류로그를 추적하기 어려운 경우에 적절한 대처 방법이다. 에러는 특정 사용자에게 주로 발생하기 때문이다

more

초록/요약 도움말

A log is the text monitoring and apprehending issues of a system during the development and operation of a program. Developing and operating an online system are accompanied with different issues. System developers and operators trace the cause of issue based on the log. In the development phase, the log can be simply traced while only a small number of personnel uses the system such as developers and testers. In the phase of operation, however, it is difficult to trace the log as many people can be using the system at the same time. In severe cases, they even drop the trace because they cannot track the log. This study proposed the simplify tracing the log during the system operation. It is to create a log on the run time based on IP/ID using the features provided by Logback. It saves ID/IP of the tracking user on DB, and loads the user’s IP/ID on memory to trace once WAS starts running. Before the online service operates, an Interceptor is executed to decide whether to load log file, then it generates the service requested by a certain user in a separate log file. Although every service must pass through the Interceptor to be executed, the load is insignificant since the arithmetic operation occurs in JVM. Personalizing log is a post measure against an issue. However, it is suitable when a log is repeated and untraceable. It is because an error usually occurs on particular users.

more