我&&yii2(日志埋点,邮件提醒)

zeopean      2022-02-06     319

关键词:

今天试着把yii2 的日志,如果发送邮件的形式实现,具体实现如下

1.环境介绍

lnmp php5.6, mysql5.5, lnmp1.2

yii2-advanced

2.配置文件的编写

  • 在frontend/config/main.php 添加mailer 和 log 的配置
‘mailer‘    => require_once ‘../config/mail.php‘,
‘log‘   => require_once ‘../config/log.php‘,

  

  • mailer的配置如下(frontend/config/mail.php)
<?php
return [
    ‘class‘ => ‘yiiswiftmailerMailer‘,
    ‘viewPath‘ => ‘@common/mail‘,
    ‘useFileTransport‘ => false,
    ‘transport‘ => [
        ‘class‘ => ‘Swift_SmtpTransport‘,
        ‘host‘ => ‘smtp.163.com‘,
        ‘username‘ => ‘**@163.com‘,
        ‘password‘ => ‘****‘,
        ‘port‘ => ‘25‘,
        ‘encryption‘ => ‘tls‘,
    ],
    ‘messageConfig‘=>[
        ‘charset‘=>‘UTF-8‘,
        ‘from‘=>[‘[email protected]‘=>‘zeopean‘]
    ],
];

  

  • log的配置如下(frontend/config/log.php)
<?php
return [
    ‘traceLevel‘ => YII_DEBUG ? 3 : 0,
    ‘targets‘ => [
        [
            ‘class‘ => ‘yiilogEmailTarget‘,
            ‘levels‘ => [‘error‘,‘info‘],
            ‘categories‘ => [‘email_log‘],      #该email_log 会在日志方法使用时使用到
            ‘message‘ => [
                ‘from‘ => [‘**@163.com‘],
                ‘to‘ => [‘**@qq.com‘],
                ‘subject‘ => ‘Database errors at example.com‘,
            ],
        ],
        [
            ‘class‘ => ‘yiilogFileTarget‘,
            ‘levels‘ => [‘error‘, ‘warning‘],
        ],
    ],
];

  

3.路由编写

#(frontend/config/routes.php)

return [‘GET log-test‘  => ‘demo/log-test‘];

  

4.控制器编写

<?php
namespace frontendcontrollers;

use Yii;
use yiidebugmodelssearchLog;
use yiilogEmailTarget;
use yiiwebController;


/**
 * Site controller
 */
class DemoController extends Controller{

    public $layout = false; //不使用布局
    public  $enableCsrfValidation=false;
    
    /**
     * ======================================================================
     * 测试日志生成 - 发送邮件
     */
    public function actionLogTest()
    {
        Yii::info("logging info", ‘email_log‘);
    }
}

  

ok,运行后,邮件便可以收到了。至于其他的日志模式,就需要按照实际的业务来进行了。

我可以用||和 && 在一起?

...布时间】:2021-10-2709:00:32【问题描述】:我试图打开一个日志文件并查看一个文本是否不存在,如果它不存在则继续,但同时我想检查它的日志文件是否已经被每封邮件发送。publicfunctionstart()$pattern=$this->config["twp_pattern"]??\'*.lo 查看详情

监控系统资源加邮件提醒

#!/usr/bin/bashecho"##########关于cpu##########"vmstat&>/dev/nullif[$?-ne0];thenecho"vmstatcommandisnotfound,pleaseinstallit!"yuminstall-yprocpsecho"命令已安装!请重新执行该命令"e 查看详情

Yii2 - ActiveRecord 到数组

】Yii2-ActiveRecord到数组【英文标题】:Yii2-ActiveRecordtoArray【发布时间】:2015-09-1611:40:11【问题描述】:有什么方法可以将ActiveRecord转换为Yii2中的数组?我知道我们可以为ActiveQuery执行此操作,例如User::find()-&gt;asArray()-&gt;one(... 查看详情

Yii2:如何使用 jQuery 使 <div> 禁用/只读

】Yii2:如何使用jQuery使<div>禁用/只读【英文标题】:Yii2:howtomakea<div>disabled/readonlywithjQuery【发布时间】:2018-11-2201:53:04【问题描述】:我需要在Yii2框架下禁用或只读yii2-date-picker-widget的图标。datepicker小部件有两部分:&a... 查看详情

Yii2 需要解释漂亮的 url 规则

】Yii2需要解释漂亮的url规则【英文标题】:Yii2Needexplanationforprettyurlrules【发布时间】:2017-03-1312:04:55【问题描述】:我怎样才能美化以下网址:group?id=1&page=7&per-page=12看起来像group/id/1/page/7/per-page/12我的UrlManager目前看起来... 查看详情

最新通知提醒

】最新通知提醒【英文标题】:LatestNotificationalerts【发布时间】:2017-10-1307:21:59【问题描述】:我正在使用https://www.moengage.com/为我的桌面和移动用户生成智能触发活动通知警报。使用他们的&lt;linkrel="manifest"href="man... 查看详情

使用 ActiveForm 在 yii2 中的电子邮件和密码字段中自动完成关闭

】使用ActiveForm在yii2中的电子邮件和密码字段中自动完成关闭【英文标题】:Autocompleteofffinemailandpasswordfieldinyii2usingActiveForm【发布时间】:2019-07-0516:16:11【问题描述】:我在yii2中使用Activeform作为表单,我使用电子邮件和密码输... 查看详情

笔记阿里巴巴日志&异常规范(代码片段)

【笔记】阿里巴巴日志&异常规范文章目录【笔记】阿里巴巴日志&异常规范总结一下日志规范异常规范阿里巴巴日志规范阿里巴巴异常规范阿里规范里写的很清楚了本来想写两句笔记发现人家写的就很不错我也就不添油加... 查看详情

GitLab CI/CD:这项工作没有痕迹。 & 没有工作日志

】GitLabCI/CD:这项工作没有痕迹。&没有工作日志【英文标题】:GitLabCI/CD:Thisjobdoesnothaveatrace.&Nojoblog【发布时间】:2021-10-1904:46:31【问题描述】:我是GitLabCI/CD的新手,我想知道我的管道在做什么。语法是正确的,但工作一... 查看详情

managesessions & nqquery 日志文件中的物理查询有问题吗?

】managesessions&nqquery日志文件中的物理查询有问题吗?【英文标题】:Issuewiththephsicalqueryinmanagesessions&nqquerylogfile?【发布时间】:2019-07-0605:17:50【问题描述】:嗨,这是在obiee中的问题演示的从业者级别,我对管理员用户进... 查看详情

AMP 设置和获取 cookie 值

...显示10段内容的页面。然后将在输入表单中询问用户电子邮件地址。用户提供电子邮件地址后,将显示剩余的90段内容...同一用户第二次访问该页面,我们在不询问电子邮件的情况下显示内 查看详情

Laravel 5 & 在单个字段中验证多个电子邮件地址

】Laravel5&在单个字段中验证多个电子邮件地址【英文标题】:Laravel5&validatingmultipleemailaddressesinasinglefield【发布时间】:2017-01-3105:27:54【问题描述】:我知道在Laravel中你可以为输入字段设置验证规则,例如:$return=[\'first_nam... 查看详情

使用 html 代码发送 phpmailer 电子邮件

】使用html代码发送phpmailer电子邮件【英文标题】:Sendphpmaileremailwithhtmlcode【发布时间】:2014-12-1923:21:30【问题描述】:我制作了一个发送邮件的函数,但它们会解释html代码。我怎样才能让它在正文中发送准确的html代码?例如,... 查看详情

如何在 PHP 中为通过 AMP 电子邮件发出的请求获取客户端的 IP 地址

】如何在PHP中为通过AMP电子邮件发出的请求获取客户端的IP地址【英文标题】:HowtogetIPaddressofclientinPHPfortherequestsmadeviaAMPemail【发布时间】:2021-06-2002:28:46【问题描述】:我已经实现了AMP电子邮件,所以当客户端通过amp-form从电子... 查看详情

yii2.0下的load()方法的使用

一问题最近在使用Yii2.0,遇到一个bug:在/models/OrderDetail.phpadd()方法中调用load()方法加载数据,却加载不了。publicfunctionadd($data){if($this->load($data)&&$this->save()){returntrue;}returnfalse;}二排错2.1将add()方法修改成如下(添加 查看详情

如何将列中的超链接插入outlook电子邮件正文(代码片段)

...的列“AB”有一个超链接,我希望通过VBA将其包含在电子邮件中。超链接每行更改。我可以通过文本拉列,但电子邮件没有显示超链接。如何将其显示为超链接?DimOutAppAsObjectDimOutMailAsObjectDimstrtoAsString,strccAsString,strbccAsStringDimstrsu... 查看详情

python & smtplib:是不是可以使用 oauth2 通过 gmail 发送邮件?

】python&smtplib:是不是可以使用oauth2通过gmail发送邮件?【英文标题】:python&smtplib:Issendingmailviagmailusingoauth2possible?python&smtplib:是否可以使用oauth2通过gmail发送邮件?【发布时间】:2012-07-1119:56:15【问题描述】:所以我... 查看详情

python & smtplib:是不是可以使用 oauth2 通过 gmail 发送邮件?

】python&smtplib:是不是可以使用oauth2通过gmail发送邮件?【英文标题】:python&smtplib:Issendingmailviagmailusingoauth2possible?python&smtplib:是否可以使用oauth2通过gmail发送邮件?【发布时间】:2012-07-1119:56:15【问题描述】:所以我... 查看详情