|
@@ -37,6 +37,10 @@
|
|
|
#include "prefs.h"
|
|
|
#include "RecoverableException.h"
|
|
|
|
|
|
+#ifdef HAVE_LIBGNUTLS
|
|
|
+# include <gnutls/gnutls.h>
|
|
|
+#endif // HAVE_LIBGNUTLS
|
|
|
+
|
|
|
namespace aria2 {
|
|
|
|
|
|
std::string LogFactory::filename_ = DEV_NULL;
|
|
@@ -57,6 +61,21 @@ void LogFactory::openLogger(const std::shared_ptr<Logger>& logger)
|
|
|
logger->setConsoleOutput(consoleOutput_);
|
|
|
}
|
|
|
|
|
|
+void LogFactory::adjustDependentLevels() {
|
|
|
+ auto level = consoleLogLevel_;
|
|
|
+ if (filename_ != DEV_NULL) {
|
|
|
+ level = std::min(level, logLevel_);
|
|
|
+ }
|
|
|
+#ifdef HAVE_LIBGNUTLS
|
|
|
+ if (level == Logger::A2_DEBUG) {
|
|
|
+ gnutls_global_set_log_level(10);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ gnutls_global_set_log_level(0);
|
|
|
+ }
|
|
|
+#endif
|
|
|
+}
|
|
|
+
|
|
|
void LogFactory::reconfigure()
|
|
|
{
|
|
|
if(logger_) {
|
|
@@ -89,6 +108,7 @@ void LogFactory::setLogFile(const std::string& name)
|
|
|
} else {
|
|
|
filename_ = name;
|
|
|
}
|
|
|
+ adjustDependentLevels();
|
|
|
}
|
|
|
|
|
|
namespace {
|
|
@@ -113,21 +133,25 @@ Logger::LEVEL toLogLevel(const std::string& level)
|
|
|
void LogFactory::setLogLevel(Logger::LEVEL level)
|
|
|
{
|
|
|
logLevel_ = level;
|
|
|
+ adjustDependentLevels();
|
|
|
}
|
|
|
|
|
|
void LogFactory::setLogLevel(const std::string& level)
|
|
|
{
|
|
|
logLevel_ = toLogLevel(level);
|
|
|
+ adjustDependentLevels();
|
|
|
}
|
|
|
|
|
|
void LogFactory::setConsoleLogLevel(Logger::LEVEL level)
|
|
|
{
|
|
|
consoleLogLevel_ = level;
|
|
|
+ adjustDependentLevels();
|
|
|
}
|
|
|
|
|
|
void LogFactory::setConsoleLogLevel(const std::string& level)
|
|
|
{
|
|
|
consoleLogLevel_ = toLogLevel(level);
|
|
|
+ adjustDependentLevels();
|
|
|
}
|
|
|
|
|
|
void LogFactory::release() {
|