-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update version to 1.5.0 #13
Conversation
* error C2338: static_assert failed: 'Unicode support requires compiling with /utf-8'
* See: gabime/spdlog#3233 * error 1: * tweakme.h:107:88: error: call to non-‘constexpr’ function * include/spdlog/common-inl.h:19:47: note: in expansion of macro ‘SPDLOG_LEVEL_NAMES’ * error 2: * the value of ‘leftAlign’ is not usable in a constant expression
增强 * 支持无限长度格式化字符串 * 格式化失败时不再中断脚本执行,而是调用默认 logger 以及发生错误的 logger 来记录相关的错误信息 修复 * 修复格式化出现错误时,会重复记录上一条日志的问题 * 格式化宽度小于数据长度时可能溢出的问题
* return void 的 native 统一返回 0 * return handle 的 native 统一返回 handle 或 BAD_HANDLE * 记录日志的 native 不再预判断日志级别(因为这个操作是冗余的,为了追求性能,留给用户自行处理)
* 参数 level 越界时,直接修改为最近的边界值,不再用默认的 logger 输出警告信息
…g" "critical" * 支持 NameToLogLevel() 识别日志级别的别名 "warning" "critical"
* 引入 logger_handle_manager 以重构所有 native 的 handle 读写 * 当参数 level, policy 越界时直接修改为临近的边界值,不再报错 * 改造 SetErrorHandler 以提高性能
* 默认 logger 不再提供给插件使用,只专用于拓展 * 默认 logger 的 sinks 变更为 stdout + daily file * 默认 logger 的 daily file sink 比 stdout sink 的输出信息更详细
* 私有化 logger_handle_data 构造和析构,只允许 logger_handle_manager 进行管理,外部只能读取 * 使用 dist_sink 管理多线程 sink 以解决并发空指针的问题
This reverts commit dd1d118.
* 使用 sink_handle_manager 替代 log4sp::sinks * 现在尝试往单线程 logger 添加多线程 sink 会直接报错,反之多线程 logger 添加单线程 sink 也一样
* 移除 Sink 的格式化输出 natives,因为当格式错误时不方便溯源 * 不再区分 ***SinkST 或 ***SinkMT * Sink 的构造函数添加 bool async 参数,用于区分单线程/多线程 sink * 移除 common 中不再使用的 logger 和 sink 代码
改动记录(可能不是全部): 新增
变更
修复
杂项
|
sourcemod/scripting/include/log4sp_no_ext/sinks/base_file_sink.inc
Outdated
Show resolved
Hide resolved
This reverts commit 5a8d669.
…ritance" This reverts commit 0fb6333.
* 抽象后台工作接口,而不是将 thread_pool、async_logger、backend_worker 绑定 * 这能更灵活的自定义 async_logger 并复用 spdlog::thread_pool * 由于 v2.x 还没有发行版,v1.x 拒绝合并破坏 api 的更改 所以我们自己修改 spdlog 源码以满足自定义 async_logger 的需求 后续需要特别注意此处的兼容性 * gabime/spdlog#3293
This is a major update!
This update resolves all currently known issues, simplifies some natives to ease the burden on developers, and adds some new features.
这是一次重大更新!
此次更新解决了目前已知的所有问题,简化了一些 natives 以减轻开发者负担,同时还增加了一些新的特性。