Ruby:
표준 에러에 쓰기

방법:

루비의 표준 라이브러리는 $stderr 또는 STDERR을 사용하여 stderr에 쓰는 간단한 방법을 제공합니다. 이 기본 작업을 위해 타사 라이브러리가 필요하지 않습니다.

stderr에 간단한 메시지 쓰기:

$stderr.puts "Error: 파일을 찾을 수 없습니다."
# 또는 동등하게
STDERR.puts "Error: 파일을 찾을 수 없습니다."

stderr에 대한 샘플 출력:

Error: 파일을 찾을 수 없습니다.

stderr를 파일로 리다이렉션:

File.open('error.log', 'w') do |file|
  STDERR.reopen(file)
  STDERR.puts "구성을 열지 못했습니다."
end

이 코드 조각은 stderr를 error.log라는 파일로 리다이렉션하고, 그 후부터 프로그램이 stderr 리다이렉션을 재설정하거나 종료될 때까지 모든 후속 쓰기 오류가 그곳에 출력됩니다.

예외 처리를 사용한 stderr:

begin
  # 실패할 수 있는 작업 시뮬레이션, 예를 들어, 파일 열기
  File.open('nonexistent_file.txt')
rescue Exception => e
  STDERR.puts "예외 발생: #{e.message}"
end

stderr에 대한 샘플 출력:

예외 발생: No such file or directory @ rb_sysopen - nonexistent_file.txt

루비의 내장 메서드로 많은 애플리케이션에서 stderr에 쓰기에 충분하지만, 보다 복잡한 로깅 요구 사항의 경우 logger 표준 라이브러리나 Log4r과 같은 외부 젬을 고려할 수 있습니다. 이러한 것들은 중요도 수준, 서식, 파일, 이메일 등 다양한 출력에 쓸 수 있는 기능을 포함한 구성 가능한 로깅 메커니즘을 제공합니다.