erlang
文章平均质量分 95
yida_young
这个作者很懒,什么都没留下…
展开
-
Lager输出成html格式的日志
简介lager是erlang和exlir的一个日志库,输出格式支持自定义,可以通过额外插件扩展将日志输出成html格式,这样异常日志从颜色上就可以明显的看出来,方便调试使用库已经上传了hex库,可以通过以下3种方式中任一使用mix 中加入{:lager_html, "~> 0.0.1"}rebar.config 的deps 中加入 {lager_html, "0.0.1"}erlang.mk 中加入 dep_lager_html = hex 0.0.1如果hex下载失败,按照reba原创 2020-12-22 11:33:00 · 229 阅读 · 0 评论 -
rebar3使用本地依赖
简介erlang提供了rebar3来管理依赖和编译项目,结合git和hex,项目的依赖管理会非常简单。项目本体也会非常精简。但是也带来了问题就是项目本身必须依赖外网才可以构建,因为deps库一般都是从git或者hex上进行的下载。如果是内网环境下,就无法进行构建,只能提前将依赖在外网环境下下载完整再本地进行构建。同样如果网络环境比较差,国内连接hex的本站速度也比较慢,意味着每次构建都需要很久,因此如果能将依赖从本地进行拉取就会快很多。实现rebar3提供了插件功能,在有了插件功能后,就可以在不修改原创 2020-10-10 18:14:33 · 1067 阅读 · 0 评论 -
Mac安装解决erlang最新版本(23)安装失败的问题
编译安装mac最新的版本因为openssl的安全问题,不再默认链接openssl库,所以必须手动配置库,整体还是很折腾brew reinstall coreutils automake autoconf openssl libyaml readline libxslt libtool unixodbcbrew link coreutils automake autoconf openssl libyaml readline libxslt libtool unixodbcexport KERL_C原创 2020-10-10 15:38:58 · 1753 阅读 · 0 评论 -
解决rebar3在中文环境下部分命令失败
问题rebar3因为毕竟是基于英文环境开发的,很多命令匹配都是基于英文返回内容,因此可能部分命令会执行失败===> Verifying dependencies...===> Compiling game_fight===> Assembling release game_fight-0.1.0...===> Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace or consult rebar3.原创 2020-09-23 14:24:52 · 1062 阅读 · 0 评论 -
使用IDEA进行erlang的断点调试
简介IDEA可是说是目前对erlang语言支持最好的IDE了,包括文件跳转,代码提示等已经相当成熟。但是因为缺少官方维护,erlang的debug功能还是相对简陋的,包括当前最新版本的erlang插件,对debug功能的支持也不能算完整。erlang官方也提供了debug功能,虽然易用性上还是偏弱,但是功能还是相对比较完整。每次重启的时候必须重新载入环境,断点之类的配置都是在环境中。如果调试需要重启节点,就会很麻烦。IDEA提供的基础debugIDEA的erlang插件提供的debug大体上可以分为原创 2020-05-12 18:37:25 · 2904 阅读 · 11 评论 -
Lager库使用介绍
使用Lager库来管理erlang应用的日志模块erlang本身已经提供了基础的日志模块error_logger还有OTP 21.0之后的Logger模块,这些模块在项目比较轻量,日志可控,功能简单的情况下完全可以满足需要,但是Lager提供了一个更加成熟的完整的解决方案,从日志文件的配置,等级设定,到跟踪,日志文件轮转提供了完整的生态接口,通过Lager几乎可以满足所有的日志需求,而且不需要考...原创 2019-12-16 15:19:46 · 2627 阅读 · 0 评论 -
Lager库的Trace功能使用
简介Lager的trace功能十分强大,在生产环境中,我们需要使用日志来配合定位问题,而如果只是单纯的使用日志等级来控制,在日志量非常大的时候可能会有性能负担,同时日志文件也难以查找,使用trace可以清晰的筛选我们想要的日志,且不影响其他日志逻辑...原创 2019-12-16 15:19:15 · 379 阅读 · 0 评论 -
rebar3使用介绍(七)测试
rebar3使用介绍(七)测试eunitcommon test (ct)代码覆盖率Rebar3内置了eunit和ct(common_test)测试运行器。通过遵循一些约定,您可以使用单个Rebar3命令运行测试套件。eunit运行eunit测试非常简单:$ rebar3 eunitRebar3将带上宏{d, TEST, true}和{d, EUNIT, true}编译所有项目模块,以便...翻译 2018-11-12 16:59:37 · 1213 阅读 · 0 评论 -
rebar3使用介绍(六)用户自定义文件配置
rebar3使用介绍(五)用户自定义文件配置例子选项合并算法依赖和配置文件依赖永远按照prod模式对应的profile进行编译,不会有其他(当然不包括default)任何东西会被额外的套用上来,即使它们是为prod依赖项配置的,仍然会将其提取到其声明的配置文件的配置文件目录中。例如,顶层的依赖关系deps将放在_build/default/lib下,test将放在_build/test/li...翻译 2018-11-12 16:58:51 · 1440 阅读 · 0 评论 -
rebar3使用介绍(五)自定义依赖获取方式
rebar3使用介绍(四)自定义依赖获取方式每个依赖获取方式都是 rebar_resorece behavior描述-module(rebar_resource).-export_type([resource/0 ,type/0 ,location/0 ,ref/0]).-type resource() ::...翻译 2018-11-12 16:58:16 · 749 阅读 · 0 评论 -
rebar3使用介绍(四)依赖
rebar3使用介绍(四)依赖声明依赖关系源依赖包依赖Checkout 依赖更新依赖锁文件 Lock File依赖锁管理依赖关系和配置文件将始终使用prod应用于其配置的配置文件编译依赖项。没有其他(default当然,除此之外)用于任何依赖。即使它们是为prod依赖项配置的,仍然会将其提取到其声明的配置文件的配置文件目录中。例如,顶层的依赖deps将存放在_build/default/li...翻译 2018-11-12 16:57:44 · 3291 阅读 · 0 评论 -
rebar3使用介绍(三)命令
rebar3使用介绍(三)ascompilecleanctcoverdepsdodialyzeredocescriptizeeunitget-depshelpnewpathpkgsreleaserelupreportshelltartreelockunlockupdateupgradeversionxref本篇主要介绍rebar3的命令as它使配置文件名称和任务列表在该配置文件下运行.举个...翻译 2018-11-12 16:57:02 · 3638 阅读 · 0 评论 -
rebar3使用介绍(二)配置项
rebar3使用介绍(二)全局配置Alias 别名ArtifactsCompilation测试选项CoverDialyzerDistributionDirectories 目录EDocEscriptEUnit最小OTP版本检查OverridesHook 钩子shell钩子功能钩子自写功能中可以hook的点RELXSHELLXRef本篇主要介绍rebar3的配置部分全局配置rebar3支持全局...翻译 2018-11-12 16:56:33 · 4269 阅读 · 0 评论 -
Rebar3使用介绍(一)基础用法
Rebar3使用介绍(一)安装基础用法创建一个新的app或者release加入deps依赖编译输出配置测试发布本文基本都是按照rebar3官方文档翻译加上自己的理解整理而成,可能有纰漏,疑惑部分请查看原文订正。安装使用源码安装$ git clone https://github.com/erlang/rebar3.git$ cd rebar3$ ./bootstrap直接下...翻译 2018-11-12 16:55:56 · 9658 阅读 · 2 评论 -
Ranch尝鲜
简介ranch是一个用erlang实现的tcp链接的管理池,他有如下特点(摘抄自git库):Ranch aims to provide everything you need to accept TCP connections with a small code base and low latency while being easy to use directly as an appli...原创 2018-10-30 16:06:07 · 1133 阅读 · 0 评论 -
使用Ranch搭建自己的TCP连接池
将Ranch集成到自己的项目中原创 2018-10-31 17:28:47 · 852 阅读 · 3 评论 -
observer_cli 基础使用扩展指南
observer_cli 基础使用扩展指南简介安装基础用法主界面介绍编写自己的自定义插件简介observer_cli是一个针对erlang虚拟机,基于recon实现的模仿werl的observer功能的工具。因为生产环境一般都是linux系统,而observer是不支持linux系统,有了observer_cli就可以在linux环境下更直观的观察环境,及早发现问题。以下是作者自己介绍:V...原创 2018-10-29 16:04:17 · 785 阅读 · 0 评论