mirror of
https://github.com/neovim/neovim.git
synced 2025-10-03 00:18:33 +00:00
logging: move to XDG_CACHE_HOME (#13739)
while there is some controversy, stdpath('cache') looks like a better fit for logs than stdpath('data'): you can remove logs without preventing nvim to work which fits the XDG_CACHE_HOME definition of `user specific non-essential data files`.
This commit is contained in:

committed by
GitHub

parent
77a6049e07
commit
ea8756f85d
@@ -38,7 +38,7 @@ alternate file (e.g. stderr) use `LOG_CALLSTACK_TO_FILE(FILE*)`. Requires
|
||||
Many log messages have a shared prefix, such as "UI" or "RPC". Use the shell to
|
||||
filter the log, e.g. at DEBUG level you might want to exclude UI messages:
|
||||
|
||||
tail -F ~/.local/share/nvim/log | cat -v | stdbuf -o0 grep -v UI | stdbuf -o0 tee -a log
|
||||
tail -F ~/.cache/nvim/log | cat -v | stdbuf -o0 grep -v UI | stdbuf -o0 tee -a log
|
||||
|
||||
Build with ASAN
|
||||
---------------
|
||||
|
@@ -51,7 +51,7 @@ static bool log_try_create(char *fname)
|
||||
|
||||
/// Initializes path to log file. Sets $NVIM_LOG_FILE if empty.
|
||||
///
|
||||
/// Tries $NVIM_LOG_FILE, or falls back to $XDG_DATA_HOME/nvim/log. Path to log
|
||||
/// Tries $NVIM_LOG_FILE, or falls back to $XDG_CACHE_HOME/nvim/log. Path to log
|
||||
/// file is cached, so only the first call has effect, unless first call was not
|
||||
/// successful. Failed initialization indicates either a bug in expand_env()
|
||||
/// or both $NVIM_LOG_FILE and $HOME environment variables are undefined.
|
||||
@@ -70,7 +70,7 @@ static bool log_path_init(void)
|
||||
|| os_isdir((char_u *)log_file_path)
|
||||
|| !log_try_create(log_file_path)) {
|
||||
// Invalid $NVIM_LOG_FILE or failed to expand; fall back to default.
|
||||
char *defaultpath = stdpaths_user_data_subpath("log", 0, true);
|
||||
char *defaultpath = stdpaths_user_cache_subpath("log");
|
||||
size_t len = xstrlcpy(log_file_path, defaultpath, size);
|
||||
xfree(defaultpath);
|
||||
// Fall back to .nvimlog
|
||||
|
@@ -108,6 +108,17 @@ char *get_xdg_home(const XDGVarType idx)
|
||||
return dir;
|
||||
}
|
||||
|
||||
/// Return subpath of $XDG_CACHE_HOME
|
||||
///
|
||||
/// @param[in] fname New component of the path.
|
||||
///
|
||||
/// @return [allocated] `$XDG_CACHE_HOME/nvim/{fname}`
|
||||
char *stdpaths_user_cache_subpath(const char *fname)
|
||||
FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL FUNC_ATTR_NONNULL_RET
|
||||
{
|
||||
return concat_fnames_realloc(get_xdg_home(kXDGCacheHome), fname, true);
|
||||
}
|
||||
|
||||
/// Return subpath of $XDG_CONFIG_HOME
|
||||
///
|
||||
/// @param[in] fname New component of the path.
|
||||
|
Reference in New Issue
Block a user