slf4j、Log4j、Log4j2与Logback关系详解和相关用法

作为一名 Java 开发程序员,我们对项目中的日志打印肯定不会陌生,但是有没有发现,Java 的日志框架有很多,琳罗满目,这些框架有什么区别呢?有什么关系呢?在了解之后,仅以本文做一点粗浅的记录。

作为一名 Java 开发程序员,我们对项目中的日志打印肯定不会陌生,但是有没有发现,Java 的日志框架有很多,琳罗满目,这些框架有什么区别呢?有什么关系呢?在了解之后,仅以本文做一点粗浅的记录。

du 命令无法找到对应的大文件:1 | sudo du -sh /* 2>/dev/null | sort -rh | head -20 |
“系统数据”通常包括:
从 macOS High Sierra (10.13) 开始,Time Machine 会在本地磁盘自动创建 APFS 快照,即使已经配置了外部备份盘。这些快照会被计入“系统数据”。
设计目的:
实际问题:
du 命令看不到检查快照:
1 | tmutil listlocalsnapshots / |
正常输出示例:
1 | com.apple.TimeMachine-01-15-120000.local |
如果看到多个快照,基本确认就是这个问题。
查看快照占用的空间
1 | tmutil listlocalsnapshots / | wc -l |
删除本地快照:
1 | # 删除所有本地快照 |
1 | # 查看所有快照 |
1 | # 查看系统日志大小 |
1 | # 查看备份大小 |
1 | # 查看 Xcode 缓存 |
即使已经连接 NAS 进行时间机器备份,macOS 仍会在本地创建快照作为临时备份。以下是禁用本地快照的方法:
这会停止所有时间机器功能,包括本地快照:
缺点: 这样会停止所有备份,包括到 NAS 的备份。
这个方法可以保持 NAS 备份的同时禁用本地快照:
1 | # 禁用本地快照 |
禁用后如果本地已经存在快照,需要手动删除
⚡ 重要提示
du 命令看不到快照?A: APFS 快照是文件系统级别的特性,不是普通文件/目录。du 只能统计文件和目录,无法识别快照元数据。
A: 取决于使用场景:
A: 不会。本地快照和外部备份是独立的。删除本地快照不影响已经同步到外部硬盘的备份数据。
A: 如果你经常:
快照会保留这些文件的“变化历史”,导致占用暴增。
A:
在自动化脚本、服务器监控或智能家居场景中,我们经常需要将通知实时推送到手机。传统的短信或邮件要么成本高,要么时效性差。
本文将深度解析两款主流的轻量级推送服务——Bark 和 PushPlus,对比它们的优缺点,提供使用教程,并手把手教你如何自建私有的 Bark 服务端。
Bark 是一款专为 iPhone/iPad 设计的开源推送服务。它的设计理念是“简单”与“隐私”。
PushPlus 是集成了微信、企业微信、钉钉、短信等多种渠道的聚合推送平台。
第一步:获取 Key
https://api.day.app/YourKey/。第二步:发送请求
Bark 的 API 极其简单,支持 GET 和 POST。
最简模式 (GET):
直接访问 URL 即可触发推送。
1 | # 格式:https://api.day.app/{Key}/{推送内容} |
进阶模式 (GET - 带标题):
1 | # 格式:https://api.day.app/{Key}/{标题}/{内容} |
高级参数 (URL 跳转与角标):
1 | curl "https://api.day.app/YourKey/点击跳转百度?url=https://www.baidu.com&badge=1" |
第一步:获取 Token
token。第二步:发送请求
推荐使用 POST 方式发送 JSON 数据。
基础发送 (Curl 示例):
1 | curl -H "Content-Type: application/json" \ |
除了 Bark 和 PushPlus,市面上还有许多优秀的替代方案,可根据你的具体环境选择:
| 服务名称 | 平台支持 | 推荐指数 | 核心特点 | 局限性 |
|---|---|---|---|---|
| Telegram Bot | 全平台 | ⭐⭐⭐⭐⭐ | API 最强大,完全免费,支持双向交互,无限额。 | 需要特殊的网络环境 (科学上网)。 |
| ServerChan (Server 酱) | 微信/App | ⭐⭐⭐ | 老牌服务,生态插件极多。 | 免费版限制较多,微信通道规则经常变动。 |
| DingTalk (钉钉机器人) | 全平台 | ⭐⭐⭐⭐ | 企业级稳定性,适合工作流集成。 | 需要安装钉钉,消息展示为“群机器人”。 |
| Feishu (飞书机器人) | 全平台 | ⭐⭐⭐⭐ | 界面美观,支持富文本卡片消息。 | 配置相对复杂(需配置 Webhook 签名)。 |
| Gotify | Android/Web | ⭐⭐⭐⭐ | 开源、可自建,不仅是推送更是消息中心。 | iOS 支持较弱(无官方 App)。 |
| Ntfy.sh | 全平台 | ⭐⭐⭐⭐ | 基于 Topic 的订阅模式,无需注册,支持自建。 | 公共服务器的消息所有人可见(除非加密)。 |
为了数据的绝对安全,或者为了突破官方服务器的速率限制,自建 Bark 服务端是最佳选择。
直接运行以下命令即可启动一个 HTTP 的 Bark 服务:
1 | docker run -dt \ |
http://你的服务器IP:8080/ping,如果返回 pong 说明部署成功。创建 docker-compose.yaml 文件:
1 | services: |
运行命令:docker-compose up -d
虽然 HTTP 也能用,但 iOS 对非 HTTPS 连接有限制,强烈建议配置 HTTPS,否则可能出现无法推送图标、铃声失效等问题。
推荐方案:Nginx 反向代理
假设你已经配置了 Nginx,可以在配置文件中添加:
1 | server { |
+ 号。https://bark.yourdomain.com。全局提示词路径:$HOME/.claude/CLAUDE.md
1 | # 全局开发配置 |
$HOME/.claude/agents/requirements-analyst.md
1 | --- |
$HOME/.claude/agents/*senior-code-architect.md
1 | --- |
$HOME/.claude/agents/code-reviewer.md
1 | --- |
$HOME/.claude/agents/vitest-tester.md
1 | --- |
所以使用 cc 的流程大体是这样:
一句话总结:CC 开发团队说过的,错了不要改,直接重新来。没错,绝对是正解。
通过 # 快速将以下基础的“记忆”添加到 user scope
/init 生成 CLAUDE.md 项目记忆文件/init 生成 CLAUDE.md 项目记忆文件
我的主力系统是最近在用 vscode + codex,主力系统是 windows。众所周知,codex 对 windows 的 ps 终端支持简直是一坨,连读取文件这样简单的命令都需要用户手动确认运行。为了使用 codex,我一度将开发主力更换到了 mac 上。
这个国庆趁着有空,在论坛内佬友的帮助下,研究了一下如何使用 WSL + codex,现在已经可以顺畅运行了。在这里为大家分享一下使用 vscode + wsl +codex 的具体过程。
安装默认的 wsl ubuntu。管理员模式打开终端,使用如下命令安装 WSL ubuntu:
1 | wsl --install |
默认安装到系统盘,如果你的系统盘空间不够,使用如下步骤将你的 wsl 迁移到其他盘:
1 | wsl.exe --list --verbose |
1 | wsl --shutdown wsl --export Ubuntu D:/export.tar |
1 | wsl --unregister Ubuntu |
1 | wsl --import Ubuntu D:\export\ D:\export.tar --version 2 |
默认安装的 ubuntu 版本应该是 2404,如果你在国内,可以用以下方式换成清华源来提升下载速度:
1 | sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak |
1 | Types: deb URIs: http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ Suites: noble noble-updates noble-security Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg |
sudo apt-get update sudo apt-get upgrade使用如下命令,安装 nodejs 和 npm:sudo apt install nodejs npm
验证是否安装成功(看到版本号):node --version npm --version
安装 codex:npm install -g @openai/codex
同样验证是否安装成功:codex --version
这里只针对使用三方中转的 codex 情况,官方验证不知道是不是这样操作:
在你的 WSL 根目录下(路径为 ~),创建 .codex 目录:mkdir .codex
此时,在 Windows 的文件资源管理器侧栏,可以找到 Linux 图标,这是 WSL 虚拟磁盘。进入其中的 Ubuntu/home/你的用户名 目录,可以找到这个 .codex 文件夹。将 Windows 中正在使用的 .codex 目录内的 config.toml 和 auth.json 两个文件复制过来。
在你的项目目录下打开终端,使用 wsl 命令切换到 wsl 环境,使用命令 code . 在 vscode 中打开此项目目录。你可以看到你的 vscode 在 wsl 模式中打开,切换到扩展侧边栏,你会发现包括 codex 扩展在内的多个扩展会有按钮提示 在WSL:Ubuntu中安装。点击你需要在 WSL 中使用的这些扩展按钮,然后你可以在 WSL 中直接使用 Vscode + codex,此时 codex 可以顺利使用 linux 命令读取和写入文件。
修改配置文件前请更新 CCR 和 CC
1 | npm install -g @anthropic-ai/claude-code |
找到或创建 CCR 的配置文件,Windows 下在 C:\Users\<你的账户名>\.claude-code-router\config.json,macOS/Linux 下在 ~/.claude-code-router/config.json
粘贴以下配置文件,需要在环境变量中配置好对应的 Key 值
1 | { |
配置最后的 Router:
1 | "Router": { |
启动 Claude Code Router
1 | ccr code |
配置完成后,即可使用此命令启动 Claude Code Router 工具
启动成功后,尝试执行一些基本的代码相关任务,确认各个模型能够正常响应。如果遇到问题,请检查 GPT-Load 服务状态、配置文件语法以及网络连接。
自部署了 T 佬的 GPT-Load 和 New API,一开始使用的是 MySQL,想迁移到 PostgreSQL,因此轻微折腾了一下,过程极其顺利,稍微写一篇记录一下。
相关版本:
该方案理论适合多数项目服务的迁移,细节方面需要根据实际情况做调整,只在 T 佬的 GPT-Load 和 New API 测试操作成功,运行了一段时间也没有问题。
Claude Code 发布以来,编程能力是目前公认最强的,但是对国内不太友好,封控严重,国内一封一大片,我也在一直观望,否则秒封白折腾。
但是 7 月 11 号晚上 月之暗面发布 Kimi K2,总参数 1T,支持 Anthropic API,价格还便宜,可以替换 Claude Code 的默认模型,实现国内无痛用上 Claude Code
最新 7 月 28 号,智谱发布 GLM 4.5,综合评分全球第三、开源第一,总参数 3550 亿,高速低成本,API 调用价格低至输入 0.8 元/百万 tokens、输出 2 元/百万 tokens,同样也支持 anthropic 格式的 API,直接爽炸!