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>

可以看到在文件的底部有两个配置项 StandardErrorPathStandardOutPath,它们的值 /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

可以看到在文件的底部有两个配置项 StandardOutputStandardError,它们的值 /home/linuxbrew/.linuxbrew/var/log/frps.log 就是我们要找的 log 文件的位置。

我们可以通过下面的命令来查看 log 文件:

$ tail -fn 10 /home/linuxbrew/.linuxbrew/var/log/frps.log

这将跟踪显示 log 文件中的最后 10 条内容。

查看 Homebrew 管理的服务的日志的更多相关文章

  1. 用kubeadm 搭建 高可用集群问题记录和复盘整个过程 - 通过journalctl -u kubelet.service命令来查看kubelet服务的日志

    1.根据  https://github.com/cookeem/kubeadm-ha/blob/master/README_CN.md  去搭建ha集群,遇到几个问题: runtime networ ...

  2. 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全

    日志分类: 1. 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这 两个文件无法直接cat查看,并且该文件由系统自动更新,可以通过如下: ...

  3. 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 ...

  4. 2016-11-05实战-定义ssh服务的日志

    1.编辑/etc/rsyslog.conf 输入 local 0 .*     /var/log/sshd.log   #日志的保存路径 2.定义ssh服务的日志级别 编辑sshd服务的主配置文件:/ ...

  5. 玩转Windows服务系列——命令行管理Windows服务

    说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令,命令行都是非常方便以及强大的工具. 接下来就看一下如何通过cmd命 ...

  6. WCF 项目应用连载[3] - 双向通信 实例管理与服务端监控

    WCF 项目应用连载[1] - 索引 - 轻量级的Log系统 - Lig Sample -序 第二节我们已经创建了Lig项目,并且能稳定工作了.现在我们来改进ILigAgent接口,实现WCF的双向通 ...

  7. 玩转Windows服务系列——命令行管理Windows服务

    原文:玩转Windows服务系列——命令行管理Windows服务 说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令, ...

  8. centOS 6 服务管理与服务脚本

    服务管理与服务脚本   linux服务 服务管理与服务脚本 linux服务 服务启动过程详解 chkconfig命令 非独立服务与xinetd进程 一个特殊的服务脚本   服务启动过程详解 在开机启动 ...

  9. fitnesse - 用例创建编辑、管理、执行和日志

    fitnesse - 用例创建编辑.管理.执行和日志 2017-10-09 目录 1 用例创建编辑  1.1 用例创建  1.2 用例编辑2 用例管理3 用例测试执行和日志  3.1 用例测试执行  ...

  10. 监控与管理dubbo服务

    Dubbo是阿里多年前开源的一套服务治理框架,在众多互联网企业里应用广泛.本文介绍了一些如何监控与管理dubbo服务.使用的工具与<dubbox 的各种管理和监管>大致相同,本文更侧重于命 ...

随机推荐

  1. [golang]在Gin框架中使用JWT鉴权

    什么是JWT JWT,全称 JSON Web Token,是一种开放标准(RFC 7519),用于安全地在双方之间传递信息.尤其适用于身份验证和授权场景.JWT 的设计允许信息在各方之间安全地. co ...

  2. vba--分拆工作薄

    Sub 分拆工作薄() '分拆工作薄到当前文件夹 Dim sht As Worksheet Dim MyBook As Workbook Application.DisplayAlerts = Fal ...

  3. javaApi,mapreduce,awk,scala四种方式实现词频统计

    awk方式实现词频统计: 方式一: vi wordcount.awk { for (i = 1; i <=NF;i++) //NF 表示的是浏览记录的域的个数 freq[$i]++ } END{ ...

  4. 结合RNN与Transformer双重优点,深度解析大语言模型RWKV

    本文分享自华为云社区<[云驻共创]昇思MindSpore技术公开课 RWKV 模型架构深度解析>,作者:Freedom123. 一.前言 Transformer模型作为一种革命性的神经网络 ...

  5. yb课堂实战之LoginInterceptor注册和放行路径 《十二》

    LoginInterceptor 拦截器注册和路径校验配置 继承WebMvcConfigurer 配置拦截路径和放行路径 InterceptorConfig.java package net.ybcl ...

  6. 小程序-云数据库的add,get,remove,update

    云数据库的使用就是使用简单的原生封装wx.cloud.database().collection("list"),然后就是add,get,remove,update四个方法 初始化 ...

  7. Kolla-ansible部署openStack

    目录 Kolla-ansible部署openStack 1. 简介 2. 环境准备 3. 部署 3.1 基础环境配置 3.1.1 配置主机名,所有节点操作,这里以openstack01为例 3.1.2 ...

  8. Docker下安装Nginx代理服务器【工作实操版】

    一.Nginx下载 使用命令拉取nginx镜像到本地,此处我们获取排名第一的是官方最新镜像,其它版本可以去DockerHub查询 docker pull nginx 二.先启动一个nginx容器用于c ...

  9. mysql 临时表的好处

    客户端新建了一个会话,这个会话只是服务器与客户端1对1的关系,客户端可能在服务端建立一个临时表,满足客户端处理某些事务的需求,当客户端退出会话后,这个临时表自动drop,没有任何数据信息占用数据库空间 ...

  10. oeasy教您玩转vim - 3 - # 打开文件

    打开文件 回忆上节课内容 什么不会,就 :help 什么 命令有完整和简写两种模式 :help 和 :h :quit 和 :q 注意:是左右手小拇指配合输入的 vim 有 6 种基本模式 但是我们还没 ...