79 lines
2.8 KiB
Ruby
79 lines
2.8 KiB
Ruby
class Log4cxx < Formula
|
|
desc "Library of C++ classes for flexible logging"
|
|
homepage "https://logging.apache.org/log4cxx/index.html"
|
|
url "https://www.apache.org/dyn/closer.lua?path=logging/log4cxx/0.11.0/apache-log4cxx-0.11.0.tar.gz"
|
|
mirror "https://archive.apache.org/dist/logging/log4cxx/0.11.0/apache-log4cxx-0.11.0.tar.gz"
|
|
sha256 "c316705ee3c4e5b919d3561d5f305162d21687aa6ae1f31f02f6cdadc958b393"
|
|
license "Apache-2.0"
|
|
|
|
livecheck do
|
|
url :stable
|
|
end
|
|
|
|
bottle do
|
|
cellar :any
|
|
sha256 "ec9ff34b2c49aa9a48536f7d109da16cc32f9ce83e95ac1dc3efc8a982709908" => :catalina
|
|
sha256 "23a968d63f8a181a73410cffcde5fd16fbacd5867453e7c0d7b0cb3815942bf8" => :mojave
|
|
sha256 "11478b4f5ece24ec391954cc0538bb28f11ae6256a9499ca1e95103c2eb1d75c" => :high_sierra
|
|
end
|
|
|
|
depends_on "autoconf" => :build
|
|
depends_on "automake" => :build
|
|
depends_on "libtool" => :build
|
|
|
|
depends_on "apr-util"
|
|
|
|
def install
|
|
ENV.O2 # Using -Os causes build failures on Snow Leopard.
|
|
|
|
# Fixes build error with clang, old libtool scripts. cf. #12127
|
|
# Reported upstream here: https://issues.apache.org/jira/browse/LOGCXX-396
|
|
# Remove at: unknown, waiting for developer comments.
|
|
system "./autogen.sh"
|
|
system "./configure", "--disable-debug", "--disable-dependency-tracking",
|
|
"--prefix=#{prefix}",
|
|
# Docs won't install on macOS
|
|
"--disable-doxygen",
|
|
"--with-apr=#{Formula["apr"].opt_bin}",
|
|
"--with-apr-util=#{Formula["apr-util"].opt_bin}"
|
|
system "make", "install"
|
|
end
|
|
|
|
test do
|
|
(testpath/"test.cpp").write <<~EOS
|
|
#include <log4cxx/logger.h>
|
|
#include <log4cxx/propertyconfigurator.h>
|
|
int main() {
|
|
log4cxx::PropertyConfigurator::configure("log4cxx.config");
|
|
|
|
log4cxx::LoggerPtr log = log4cxx::Logger::getLogger("Test");
|
|
log->setLevel(log4cxx::Level::getInfo());
|
|
LOG4CXX_ERROR(log, "Foo");
|
|
|
|
return 1;
|
|
}
|
|
EOS
|
|
(testpath/"log4cxx.config").write <<~EOS
|
|
log4j.rootLogger=debug, stdout, R
|
|
|
|
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
|
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
|
|
|
# Pattern to output the caller's file name and line number.
|
|
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
|
|
|
|
log4j.appender.R=org.apache.log4j.RollingFileAppender
|
|
log4j.appender.R.File=example.log
|
|
|
|
log4j.appender.R.MaxFileSize=100KB
|
|
# Keep one backup file
|
|
log4j.appender.R.MaxBackupIndex=1
|
|
|
|
log4j.appender.R.layout=org.apache.log4j.PatternLayout
|
|
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
|
|
EOS
|
|
system ENV.cxx, "test.cpp", "-o", "test", "-L#{lib}", "-llog4cxx"
|
|
assert_match /ERROR.*Foo/, shell_output("./test", 1)
|
|
end
|
|
end
|