작성
·
377
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
file로 redirection 해보세요.
프로젝트 디렉토리에 "test_output.txt" 파일명으로 생성됩니다.
try {
PrintStream printStream = new PrintStream(new FileOutputStream(new File("test_output.txt")));
System.setOut(printStream);
String[] beanDefinitionNames = applicationContext.getBeanDefinitionNames();
for (String beanDefinitionName : beanDefinitionNames) {
Object bean = applicationContext.getBean(beanDefinitionName);
System.out.println(beanDefinitionName + " : " + bean);
}
} catch (Exception e) {
e.printStackTrace();
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
Tai Sun Park님의 질문은 강의 내용과 관련된 질문으로 보이며, 인프런의 질문 게시판이나 자주 하는 질문에 없는 내용임을 확인하였습니다. 질문 잘하기 메뉴얼 역시 읽어보신 것 같습니다.
주신 코드를 통해 System.out.println
으로 콘솔이 아닌 파일에 출력하는 것과 관련하여 도움이 필요하신 것 같습니다. 코드는 PrintStream
을 사용하여 콘솔 출력을 test_output.txt
파일로 리다이렉션하는 방법을 보여줍니다. 이 방법을 사용하면 applicationContext
에서 가져온 모든 빈의 이름과 해당 빈 객체가 test_output.txt
파일에 기록됩니다. 문제가 발생했다면 파일 생성 경로 또는 파일 쓰기 권한을 확인해 보세요. 프로젝트의 루트 디렉토리에 파일이 생성되어야 합니다. 추가적으로 예외가 발생하면 catch
블록에서 예외 스택 트레이스를 출력하여 문제의 원인을 파악할 수 있습니다.
만약 기대한대로 파일에 로그가 기록되지 않는 경우, 다음 사항들을 확인해 보시길 권장합니다:
혹시 다른 문제가 있거나 추가 질문이 있으시면, 언제든 질문해주시기 바랍니다.