};
std::ostream& operator<<(std::ostream& out, const log_ms_remainder& m) {
using namespace std::chrono;
- return out << std::setfill('0') << std::setw(3)
+
+ std::ios oldState(nullptr);
+ oldState.copyfmt(out);
+
+ out << std::setfill('0') << std::setw(3)
<< duration_cast<milliseconds>(m.t.time_since_epoch()).count() % 1000;
+
+ out.copyfmt(oldState);
+ return out;
}
// log time in apache format: day/month/year:hour:minute:second zone
std::ostream& req_state::gen_prefix(std::ostream& out) const
{
- auto p = out.precision();
- return out << "req " << id << ' '
+ std::ios oldState(nullptr);
+ oldState.copyfmt(out);
+
+ out << "req " << id << ' '
<< std::setprecision(3) << std::fixed << time_elapsed() // '0.123s'
- << std::setprecision(p) << std::defaultfloat << ' ';
+ << ' ';
+
+ out.copyfmt(oldState);
+ return out;
+
}
bool search_err(rgw_http_errors& errs, int err_no, int& http_ret, string& code)
std::ostream& operator<< (std::ostream& os, const PublicAccessBlockConfiguration& access_conf)
{
+ std::ios oldState(nullptr);
+ oldState.copyfmt(os);
+
os << std::boolalpha
<< "BlockPublicAcls: " << access_conf.block_public_acls() << std::endl
<< "IgnorePublicAcls: " << access_conf.ignore_public_acls() << std::endl
<< "BlockPublicPolicy" << access_conf.block_public_policy() << std::endl
<< "RestrictPublicBuckets" << access_conf.restrict_public_buckets() << std::endl;
+ os.copyfmt(oldState);
return os;
}