/* This file is part of Metaproxy.
- Copyright (C) 2005-2013 Index Data
+ Copyright (C) Index Data
Metaproxy is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
bool m_init_options;
LFilePtr m_file;
std::string m_time_format;
- // Only used during confiqgure stage (no threading),
- // for performance avoid opening files which other log filter
- // instances already have opened
- static std::list<LFilePtr> filter_log_files;
-
boost::mutex m_session_mutex;
std::map<mp::Session, std::string> m_sessions;
};
std::ostringstream &os);
void flush();
};
-
+ static std::list<yf::Log::Impl::LFilePtr> filter_log_files;
}
}
}
-// static initialization
-std::list<yf::Log::Impl::LFilePtr> yf::Log::Impl::filter_log_files;
-
-
yf::Log::Impl::Impl(const std::string &x)
: m_msg_config(x),
m_1line(false),
res->records->u.multipleNonSurDiagnostics->diagRecs);
}
wrbuf_puts(w, " ");
- assert(req->preferredRecordSyntax);
log_syntax(w, req->preferredRecordSyntax);
wrbuf_printf(w, " %s " ODR_INT_PRINTF "+" ODR_INT_PRINTF " ",
Z_IdAuthentication *a = req->idAuthentication;
if (a)
{
- if (a->which == Z_IdAuthentication_idPass)
+ if (a->which == Z_IdAuthentication_idPass
+ && a->u.idPass->userId)
user = a->u.idPass->userId;
else if (a->which == Z_IdAuthentication_open)
user = a->u.open;
{
mp::odr odr(ODR_PRINT);
odr_set_stream(odr, m_file->fhandle, stream_write, 0);
+ if (!m_file->fhandle)
+ yaz_log_lock();
z_GDU(odr, &gdu_req, 0, 0);
+ if (!m_file->fhandle)
+ yaz_log_unlock();
}
}
}
Z_GDU *gdu_res = package.response().get();
+ gdu_req = package.request().get();
+
yaz_timing_stop(timer);
double duration = yaz_timing_get_real(timer);
{
mp::odr odr(ODR_PRINT);
odr_set_stream(odr, m_file->fhandle, stream_write, 0);
+ if (!m_file->fhandle)
+ yaz_log_lock();
z_GDU(odr, &gdu_res, 0, 0);
+ if (!m_file->fhandle)
+ yaz_log_unlock();
}
}
}