reuse the FileLogger module in append mode. As it implements write, which is not thread safe (mutable self) and we use it in a async context we need to serialize access using a mutex. Try to use the same format we do in pveproxy, namely the one which is also used in apache or nginx by default. Use the response extensions to pass up the userid, if we extract it from a ticket. The privileged and unprivileged dameons log both to the same file, to have a unified view, and avoiding the need to handle more log files. We avoid extra intra-process locking by reusing the fact that a write smaller than PIPE_BUF (4k on linux) is atomic for files opened with the 'O_APPEND' flag. For now the logged request path is not yet guaranteed to be smaller than that, this will be improved in a future patch. Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
21 lines
654 B
Rust
21 lines
654 B
Rust
//! Exports configuration data from the build system
|
|
|
|
/// The configured configuration directory
|
|
pub const CONFIGDIR: &str = "/etc/proxmox-backup";
|
|
pub const JS_DIR: &str = "/usr/share/javascript/proxmox-backup";
|
|
|
|
pub const API_ACCESS_LOG_FN: &str = "/var/log/proxmox-backup/api/access.log";
|
|
|
|
/// Prepend configuration directory to a file name
|
|
///
|
|
/// This is a simply way to get the full path for configuration files.
|
|
/// #### Example:
|
|
/// ```
|
|
/// # #[macro_use] extern crate proxmox_backup;
|
|
/// let cert_path = configdir!("/proxy.pfx");
|
|
/// ```
|
|
#[macro_export]
|
|
macro_rules! configdir {
|
|
($subdir:expr) => (concat!("/etc/proxmox-backup", $subdir))
|
|
}
|