查看 Homebrew 管理的服务的日志
TL;DR
首先找到 log 文件的位置:
- 对于 macOS (arm64),log 文件在
/opt/homebrew/var/log目录下 - 对于 macOS (x86_64),log 文件在
/usr/local/homebrew/var/log/目录下 - 对于 Linux,log 文件在
/home/linuxbrew/.linuxbrew/var/log目录下
查看 log 文件:
$ tail -fn 10 <file>
将
<file>改为你要查看的 log 文件
macOS
首先启动服务:
$ brew services start frpc
==> Successfully started `frpc` (label: homebrew.mxcl.frpc)
可以看到这里 Homebrew 在注册 frpc 服务时给了我们一个 label,这个 label 是服务的标识符。
Homebrwe 注册服务时会在启动目录写入相应的配置文件,这个配置文件的名字就是刚刚 Homebrew 给我们的 label。
根据我们启动服务时使用的命令的不同,启动目录的位置也会有所不同。
- 如果你使用不带
sudo的启动命令,那么配置文件会写入到用户登录自启的启动目录~/Library/LaunchAgents - 如果你使用带
sudo的启动命令,那么配置文件会写入到开机自启的启动目录/Library/LaunchDaemons
刚刚的我们使用的是不带 sudo 的启动命令,因此我们到 ~/Library/LaunchAgents 目录下寻找我们的配置文件:
$ ls ~/Library/LaunchAgents
homebrew.mxcl.frpc.plist
可以看到这里有一个名为 homebrew.mxcl.frpc.plist 的配置文件,它的文件名前缀刚好就是之前 Homebrew 给我们的 label。
我们打开这个配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.frpc</string>
<key>LimitLoadToSessionType</key>
<array>
<string>Aqua</string>
<string>Background</string>
<string>LoginWindow</string>
<string>StandardIO</string>
<string>System</string>
</array>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/opt/frpc/bin/frpc</string>
<string>-c</string>
<string>/opt/homebrew/etc/frp/frpc.toml</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/opt/homebrew/var/log/frpc.log</string>
<key>StandardOutPath</key>
<string>/opt/homebrew/var/log/frpc.log</string>
</dict>
</plist>
可以看到在文件的底部有两个配置项 StandardErrorPath 和 StandardOutPath,它们的值 /opt/homebrew/var/log/frpc.log 就是我们要找的 log 文件的位置。
我们可以通过下面的命令来查看 log 文件:
$ tail -fn 10 /opt/homebrew/var/log/frpc.log
这将跟踪显示 log 文件中的最后 10 条内容。
Linux
首先,使用 Homebrew 启动服务时你会看到一条类似如下的信息:
$ brew services start frps
Created symlink /home/user/.config/systemd/user/default.target.wants/homebrew.frps.service → /home/user/.config/systemd/user/homebrew.frps.service.
==> Successfully started `frps` (label: homebrew.frps)
这表示 Homebrew 在 /home/user/.config/systemd/user/default.target.wants 目录下为一个名为 homebrew.frps.service 的服务单元文件创建了一个符号链接,使其能够在 default.target 达成时启动(即用户登录时)。
我们查看服务单元文件 homebrew.frps.service 的内容:
[Unit]
Description=Homebrew generated unit for frps
[Install]
WantedBy=default.target
[Service]
Type=simple
ExecStart=/home/linuxbrew/.linuxbrew/opt/frps/bin/frps -c /home/linuxbrew/.linuxbrew/etc/frp/frps.toml
Restart=always
StandardOutput=append:/home/linuxbrew/.linuxbrew/var/log/frps.log
StandardError=append:/home/linuxbrew/.linuxbrew/var/log/frps.log
可以看到在文件的底部有两个配置项 StandardOutput 和 StandardError,它们的值 /home/linuxbrew/.linuxbrew/var/log/frps.log 就是我们要找的 log 文件的位置。
我们可以通过下面的命令来查看 log 文件:
$ tail -fn 10 /home/linuxbrew/.linuxbrew/var/log/frps.log
这将跟踪显示 log 文件中的最后 10 条内容。
查看 Homebrew 管理的服务的日志的更多相关文章
- 用kubeadm 搭建 高可用集群问题记录和复盘整个过程 - 通过journalctl -u kubelet.service命令来查看kubelet服务的日志
1.根据 https://github.com/cookeem/kubeadm-ha/blob/master/README_CN.md 去搭建ha集群,遇到几个问题: runtime networ ...
- 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全
日志分类: 1. 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这 两个文件无法直接cat查看,并且该文件由系统自动更新,可以通过如下: ...
- centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,curl,ping ,telnet,traceroute ,dig ,nc,nmap,host,nethogs 第十六节课
centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,cur ...
- 2016-11-05实战-定义ssh服务的日志
1.编辑/etc/rsyslog.conf 输入 local 0 .* /var/log/sshd.log #日志的保存路径 2.定义ssh服务的日志级别 编辑sshd服务的主配置文件:/ ...
- 玩转Windows服务系列——命令行管理Windows服务
说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令,命令行都是非常方便以及强大的工具. 接下来就看一下如何通过cmd命 ...
- WCF 项目应用连载[3] - 双向通信 实例管理与服务端监控
WCF 项目应用连载[1] - 索引 - 轻量级的Log系统 - Lig Sample -序 第二节我们已经创建了Lig项目,并且能稳定工作了.现在我们来改进ILigAgent接口,实现WCF的双向通 ...
- 玩转Windows服务系列——命令行管理Windows服务
原文:玩转Windows服务系列——命令行管理Windows服务 说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令, ...
- centOS 6 服务管理与服务脚本
服务管理与服务脚本 linux服务 服务管理与服务脚本 linux服务 服务启动过程详解 chkconfig命令 非独立服务与xinetd进程 一个特殊的服务脚本 服务启动过程详解 在开机启动 ...
- fitnesse - 用例创建编辑、管理、执行和日志
fitnesse - 用例创建编辑.管理.执行和日志 2017-10-09 目录 1 用例创建编辑 1.1 用例创建 1.2 用例编辑2 用例管理3 用例测试执行和日志 3.1 用例测试执行 ...
- 监控与管理dubbo服务
Dubbo是阿里多年前开源的一套服务治理框架,在众多互联网企业里应用广泛.本文介绍了一些如何监控与管理dubbo服务.使用的工具与<dubbox 的各种管理和监管>大致相同,本文更侧重于命 ...
随机推荐
- 一个用来画拉氏图的简单Python脚本
技术背景 关于拉氏图的更多介绍,可以参考下这篇博客,这里简单引述一部分内容: Ramachandran plot(拉氏图)是由G. N. Ramachandran等人于1963年开发的,用来描述蛋白质 ...
- Nunjucks
Nunjucks是什么东东?其实它是一个模板引擎. 那什么是模板引擎? 模板引擎就是基于模板配合数据构造出字符串输出的一个组件.比如下面的函数就是一个模板引擎: function examResult ...
- 新版SpringBoot-Spring-Mybatis事务控制
快速创建SpringBoot+Spring+Mybatis项目 https://start.spring.io 删除pom中mysql依赖的runtime pom.xml中添加druid依赖 < ...
- Python潮流周刊的优惠券和精美电子书(EPUB、PDF、Markdown)
Python潮流周刊从 2023.05.13 连载至今,本周即将发布第 60 期,这意味着我们又要达成一个小小的里程碑啦! 每周坚持做分享,周复一周,这对自己的精力和意志是一项不小的挑战.于是,为了让 ...
- 固定panel1,panel2适应窗体变化
固定panel1,panel2适应窗体变化 如果您想要固定 Panel1 并且让 Panel2 适应窗体大小的变化,可以使用以下方式设置 SplitContainer 的属性: ' 设置 Spli ...
- 使用.NET6实现动态API
ApiLite是基于.NET6直接将Service层生成动态api路由,可以不用添加Controller,支持模块插件化,在项目开发中能够提高工作效率,降低代码量. 开发环境 .NET SDK 6.0 ...
- Hack The Box
Hack The Box 地址 https://www.hackthebox.com/ HACKTHEBOX 是一个网络安全实战平台,提供了各种 靶机 和 实验室,同时也是一个庞大的 黑客社区 怎么注 ...
- 学习 React 需要具备的 JavaScript 知识
学习 React 需要具备的 JavaScript 知识 为什么要学习 React? React 可以与任何其他库或框架无缝集成,因为 React 是一个仅视图库(它是 Model View C on ...
- 如何用 WinDbg 调试Linux上的 .NET程序
一:背景 1. 讲故事 最新版本 1.2402.24001.0 的WinDbg真的让人很兴奋,可以将自己伪装成 GDB 来和远程的 GDBServer 打通来实现对 Linux 上 .NET程序进行调 ...
- 把python中的列表转化为字符串
怎么把python中的列表转换为字符串: 1,列表中非字符串的元素的转换 方法一: 使用列表推导式进行转换 1 list=['hello',6,9,'beizhi'] 2 list=[str(i) f ...