Spring Boot enable http requests 로깅(액세스 로그)
스프링 부트로 제공되는 임베디드 Tomcat 서버에서 액세스 로그를 활성화하려면 어떻게 해야 합니까?이거 먹어봤어application.properties
파일도 생성되지 않고 콘솔 로그도 생성되지 않습니다.
server.tomcat.access-log-enabled=true
server.tomcat.access-log-pattern=%a asdasd
logging.file=/home/mati/mylog.log
콘솔 또는 선택한 파일에 표시할 수 있습니다.임의의 장소에서 Tomcat을 선언하다@Configuration
클래스:
@Bean
public FilterRegistrationBean requestDumperFilter() {
FilterRegistrationBean registration = new FilterRegistrationBean();
Filter requestDumperFilter = new RequestDumperFilter();
registration.setFilter(requestDumperFilter);
registration.addUrlPatterns("/*");
return registration;
}
이것이 그 결과입니다.
http-nio-8765-exec-1 START TIME =30-may-2016 12:45:41
http-nio-8765-exec-1 requestURI=/info
http-nio-8765-exec-1 authType=null
http-nio-8765-exec-1 characterEncoding=UTF-8
http-nio-8765-exec-1 contentLength=-1
http-nio-8765-exec-1 contentType=null
http-nio-8765-exec-1 contextPath=
http-nio-8765-exec-1 cookie=JSESSIONID=E7259F5F9ED6B04CBE5A294C5F8CA5C6
http-nio-8765-exec-1 header=host=mies-057:8765
http-nio-8765-exec-1 header=connection=keep-alive
http-nio-8765-exec-1 header=accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
http-nio-8765-exec-1 header=upgrade-insecure-requests=1
http-nio-8765-exec-1 header=user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
http-nio-8765-exec-1 header=referer=http://mies-057:1111/
http-nio-8765-exec-1 header=accept-encoding=gzip, deflate, sdch
http-nio-8765-exec-1 header=accept-language=es-ES,es;q=0.8
http-nio-8765-exec-1 header=cookie=JSESSIONID=E7259F5F9ED6B04CBE5A294C5F8CA5C6
http-nio-8765-exec-1 locale=es_ES
http-nio-8765-exec-1 method=GET
http-nio-8765-exec-1 pathInfo=null
http-nio-8765-exec-1 protocol=HTTP/1.1
http-nio-8765-exec-1 queryString=null
http-nio-8765-exec-1 remoteAddr=192.168.56.1
http-nio-8765-exec-1 remoteHost=192.168.56.1
http-nio-8765-exec-1 remoteUser=null
http-nio-8765-exec-1 requestedSessionId=E7259F5F9ED6B04CBE5A294C5F8CA5C6
http-nio-8765-exec-1 scheme=http
http-nio-8765-exec-1 serverName=mies-057
http-nio-8765-exec-1 serverPort=8765
http-nio-8765-exec-1 servletPath=/info
http-nio-8765-exec-1 isSecure=false
http-nio-8765-exec-1 ------------------=--------------------------------------------
http-nio-8765-exec-1 ------------------=--------------------------------------------
http-nio-8765-exec-1 authType=null
http-nio-8765-exec-1 contentType=application/json;charset=UTF-8
http-nio-8765-exec-1 header=Strict-Transport-Security=max-age=31536000 ; includeSubDomains
http-nio-8765-exec-1 header=X-Application-Context=EDGE:8765
http-nio-8765-exec-1 header=Content-Type=application/json;charset=UTF-8
http-nio-8765-exec-1 header=Transfer-Encoding=chunked
http-nio-8765-exec-1 header=Date=Mon, 30 May 2016 10:45:41 GMT
http-nio-8765-exec-1 status=200
http-nio-8765-exec-1 END TIME =30-may-2016 12:45:41
http-nio-8765-exec-1 ===============================================================
그런 다음 표준 Spring Boot 로그로 관리합니다.
해라
server.tomcat.accessLogEnabled=true
server.tomcat.accessLogPattern=%a asdasd
들여다보다/tmp/tomcat.<random>.<port>/logs
출력 파일에 사용합니다.세트server.tomcat.basedir
속성을 지정하여 디렉토리를 변경합니다.
Spring Boot 1.5.1에서는 Dave Syer가 언급한 속성이 더 이상 작동하지 않고 다음 이름으로 변경됩니다.
server.tomcat.basedir=target/tomcat-logs
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%t %a "%r" %s (%D ms)
위의 구성을 사용하면 루트 디렉토리를 통해 프로젝트를 실행하는 경우 target/tomcat-logs/log/access_log에서 로그를 사용할 수 있습니다.*
Spring Boot 2.X에서 액세스 로그를 관리하려면 다음 행을 에 추가합니다.application.yml
파일:
server:
tomcat:
basedir: /home/tmp
accesslog:
enabled: true
다음 이름의 폴더를 만듭니다.logs
(을 참조해 주세요)./home/tmp
액세스 로그 파일이 격납되어 있습니다.
콘솔에 액세스 로그를 표시하는 경우는, 다음과 같이 실시합니다.
server:
tomcat:
accesslog:
enabled: true
directory: /dev
prefix: stdout
buffered: false
suffix:
file-date-format:
로그가 /dev/stdout으로 다시 표시됩니다.
상세정보 : https://community.pivotal.io/s/article/how-to-configure-access-log-entries-for-a-spring-boot-app?language=en_US
Spring Boot 앱이 있으며 다음 주소로 http 로깅을 활성화하고 싶은 경우stdout
컨테이너형 어플리케이션에서 도움이 되는 것처럼 코드 또는 설정 파일을 변경하지 않고 다음 환경변수를 추가할 수 있습니다.
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.directory=/dev
server.tomcat.accesslog.prefix=stdout
server.tomcat.accesslog.suffix=
server.tomcat.accesslog.file-date-format=
메모suffix
그리고.file-date-format
무로 설정되어야 한다
그런 다음 앱을 재시작하면 로그가 표시됩니다.
언급URL : https://stackoverflow.com/questions/23325389/spring-boot-enable-http-requests-logging-access-logs
'programing' 카테고리의 다른 글
Angular에서 페이지 번호 업데이트필터링 후 JS (0) | 2023.03.22 |
---|---|
스프링 부트 - 2.2.5에서2.3.0으로 업그레이드 후 검증이 정지됨 (0) | 2023.03.22 |
angularJS에서의 브로드캐스트이벤트 구독 해제 방법$on을 통해 등록된 기능을 삭제하는 방법 (0) | 2023.03.22 |
AWS: space를 json에서 '+' 서명 개체 키 이름으로 바꾸는 S3 이벤트 수정 방법 (0) | 2023.03.22 |
TypeScript 및 React-Router 4, 5, 또는 6을 사용하여 보호된 경로 또는 개인 경로를 다시 작성하려면 어떻게 해야 합니까? (0) | 2023.03.22 |