头部引入log类use yii\log\FileTarget; $time = microtime(true);$log = new FileTarget();$log->logFile = Yii::$app->getRuntimePath() . '/logs/zhidemy.com.log'; //文件名自定义$log->messages[] = ['test',1,'application',$time];$log->export(); 这样基本就能写出来了,先看一下$lo…
我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       customer_id   book_id) 图书表                    (id  book_name       author_id) 作者表                    (id  author_name) 模型定义 下面是这4个个模型的定义,只写…
控制器(Controller) 本节包含以下方面的内容 基本概念 路由 默认路由 动作的参数 在动作中定义参数 从请求(request)中获取参数 独立动作 动作过滤器(Action Filters) 捕获所有的请求 自定义响应类 控制器(Controller)是应用程序中最关键的部分之一,它决定了如何处理传递进来的请求(Request),以及生成相应的响应(Response).大部分的控制器都会处理一个Http的请求,然后返回Html或者Json或者Xml格式的数据作为响应. 1.基本概念 控…
我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       customer_id   book_id) 图书表                    (id  book_name       author_id) 作者表                    (id  author_name) 模型定义 下面是这4个个模型的定义,只写…
public function rules(){ return [ //必须填写 ['email, username, password,agree,verifyPassword,verifyCode', 'required'], //检查用户名是否重复 ['email','unique','message'=>'用户名已占用'], //用户输入最大的字符限制 ['email, username', 'length', 'max'=>64], //限制用户最小长度和最大长度 ['usernam…
直接 model 删除 $model = User::find($id); $model->delete(); 带有条件的删除 $connection ->createCommand() ->delete('tbl_user', 'status = 0') ->execute(); 使用 Query 查询删除 $connection ->createCommand('DELETE FROM tbl_user WHERE userid=:userid') ->execut…
在Yii的Model里进行查询的时候 where是必不可少的.Where方法声明为 static where( $condition ) 其中参数 $condition类型为字符串或者数组 1.字符串字符串是最简单的,直接按sql中的where条件写就可以,如 $condition = 'name=\'zhidemy.com\' and age>10'; 2.数组如果是数组的情况下,有两种格式的写法. name-value格式的字典数组:['column1' => value1, 'colum…
在Yii中,当请求一个Url的时候,首先在application中获取request信息,然后由request通过urlManager解析出route,再在Module中根据route来创建controller并处理request.如:http://www.yiifans.com/index.php?r=site/login.会使用SiteController里面的actionLogin动作来处理这个请求. Yii中总共有三种控制器类 base\Controller.php        这个是…
phpcms v9二次开发便捷自定义后台入口文件夹 最新发布的phpcms v9由于采用了mvc的设计模式,所以它的后台访问地址是固定的,虽然可以通过修改路由配置文件来实现修改,但每次都修改路由配置文件对于我来说有点麻烦 了,而且一不小心就会出错.这里使用另外一个一劳永逸的方法,达到了方便修改访问后台入口的目的,整个修改共分两步: 第一步: 在网站根目录创建一个文件夹,以后就要通过这个文件夹进入后台登录界面的,所以文件夹名就要取一个不易被人轻易猜到的名称.这里作为演示,我就取为 phpcms8…
写在前面 本篇主要讲述日志配置,看完本篇可以解决下述问题, 控制台输出日志.生成日志文件.日志级别修改.hibernate日志不输出 Git Demo Path:https://github.com/MingHaiTian/springboot-start.git -------------------------------------------------------------------------------------------------------- 正文开始 spring-…
Zookeeper持久化两类数据,Transaction以及Snapshot,logDir存储transaction命令,dataDir存储snap快照,其下子目录名称以version-2命名,子目录内部文件是分别以log.zxid和snapshot.lastProcessedZxid命名,每个目录下可以有很多个这样的文件,Transaction文件的文件名中zxid是文件中所有命令中zxid最小的zxid,而Snapshot中的lastProcessedZxid是最后一个操作的zxid. 它们…
      日志的记录和维护是数据库中相当重要的内容,写这篇文章和后面几篇文章作为学习官网文档的笔记.MariaDB数据库日志可分为二进制日志.查询日志.错误日志.myISAM表日志.relay日志和撤销日志(undo log). MariaDB(mysql)的undo log 保存数据被InnoDB事务修改前的版本,用于数据恢复或者提供给“一致读consistent read”级别的事务读取,具体细节如下: 1.在某行数据被修改前,首先复制数据到undo log中,表中的每行数据包含一个指针指…
一.urllib模块 urllib模块是一个标准模块,直接import urllib即可,在python3里面只有urllib模块,在python2里面有urllib模块和urllib2模块. urllib模块太麻烦了,传参数的话,都得是bytes类型,返回数据也是bytes类型,还得解码,想直接把返回结果拿出来使用的话,还得用json,发get请求和post请求,也不通,使用比较麻烦 import json from urllib import request from urllib impo…
一般情况下,日志最先反映出应用当前的问题,在海量日志里面找到我们异常记录,然后记录下来,并且根据情况报警,大家可以监控系统日志.nginx.Apache.业务日志. 这边我拿常见的MySQL日志做监控,大家看演示. 监控日志key 首先要了解key, log[ file, <regexp>, <encoding>, <maxlines>, <mode>, <output>] file:文件名,写绝对路径 regexp:要匹配内容的正则表达式,或者…
SLF4J的全称是Simple Logging Facade for Java,即简单日志门面. SLF4J并不是具体的日志框架,而是作为一个简单门面服务于各类日志框架,如java.util.logging, logback和log4j. SLF4J支持{}作为占位符,等价于C语言中的%s,而不必再进行字符串的拼接,效率有显著的提. 1.slf4j使用 引入包 slf4j-api-1.6.2.jar import org.slf4j.Logger; import org.slf4j.Logger…
1,下载安装Tesseract-OCR 安装,链接地址https://digi.bib.uni-mannheim.de/tesseract/ ​ 2,安装成功 tesseract -v 注意:安装后,要添加系统环境变量 ​ 3,cmd指定目录到 cd C:\Work\BlogsTest\TestPic,要识别图片的文件夹 识别:tesseract test.png result -l chi_sim ​ 识别成功的效果,result.txt文件会自动生成 ​ 要注意:Tesseract-OCR的…
//输出url <a href="<?=  Url::to(['/users/login/login','id'=>5,'mark'=>true]) ?>" >登录 </a> 以上等同于 <a href="/users/login/login?id=5&mark=true" >登录 </a> //注册css ①css代码 <?php $css=<<<CSS .ti…
在配置文件里修改: 如果把'enablePrettyUrl' => true,设为true那么你的gii就访问不到: 'rules' => [                 '<controller:\w+>-<action:\w+>'=>'<controller>/<action>',            ], 这里就是url自定义,controller/action 这里可以自定义: http://www.xxxxxx/login/…
无需多言,直接撸代码 class Zhuanjia extends \yii\db\ActiveRecord { public static function tableName() { return 'tableName'; } /** * @inheritdoc */ public function rules() { return [ [['name', 'type', 'phone'], 'required'], [['status'], 'integer'], [['name'], '…
sql 在使用中每次查询都会生成日志,但是如果你长久不去清理,可能整个硬都堆满哦,笔者就遇到这样的情况,直接网站后台都进不去了.下面我们一起来学习一下如何清理这个日志吧 SQL2008清空删除日志: 方法一: USE [master] GO ALTER DATABASE AFMS SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE AFMS SET RECOVERY SIMPLE GO USE AFMS GO , TRUNCATEONLY) GO…
SQL2005: Backup Log DNName with no_log  '这里的DNName是你要收缩的数据库名,自己注意修改下面的数据库名,我就不再注释了. go dump transaction DNName with no_log  go USE DNName DBCC SHRINKFILE (2) Go SQL2008: '在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式. USE [master] GO ALTER DATABASE DNName…
Mysql日志文件开启.配置.查看 mysql.log是mysql的日志文件,里面记录的对MySQL数据库的操作记录.默认情况下mysql的日志文件没有产生,需要修改mysql的配置文件,步骤如下: 1. 找到配置文件位置 mysql> show variables like 'datadir'; +---------------+---------------------------------------------+ | Variable_name | Value | +---------…
错误日志监控也可称为业务逻辑监控, 旨在对业务系统运行过程中产生的错误日志进行收集归纳和监控告警.似乎有那么点曾相识?没错... 就是提到的“APM应用性能监控”.但它又与APM不同,APM系统主要注重应用层的行为分析,收集的更多是运营方向的数据.而sentry所做的是收集应用底层代码的崩溃信息,便于码侬们排查代码异常.简单来说它就是一个面向技术码侬的排障工具. 1. 场景描述 随着运维自动化流程的推进, 各类运维工具和系统也像雨后春笋般涌现. 目前我们自主开发的运维系统的数量已经接近两位数.…
web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web server博客项目[数据存储] Node.js 从零开发 web server博客项目[登录] Node.js 从零开发 web server博客项目[日志] Node.js 从零开发 web server博客项目[安全] Node.js 从零开发 web server博客项目[express重构博客…
讲到log4j,现在国外基本是没有开发者用这个框架了,原因大致有几点,1.功能太少:2.效率低下:3.线程锁bug等等等各种莫名其妙的bug一直都没解决. 其实最重要的是log4j的作者自己也放弃了log4j,该作者现在在维护logback项目(现在主流的日志记录框架,彻底推翻了log4j的架构重写了,功能很强大),所以log4j以后基本不会再用了. 讲到这里,还是要研究一下要怎么实现的日志记录框架,那么要写个日志记录框架,得要熟悉日志记录系统的整体设计思路.于是自己构思了一晚上,花了一上午时间…
使用Yii2.0 framework开发的项目,使用Github进行版本控制,现在要把这个项目部署到一个新的电脑/系统中: (1)安装LAMP (2)在/var/www/html目录下执行 git clone YOUR_YII_WEB_PROJECT (3)cd Yii2.0 web项目(例如:mabuhay)目录,安装Yii2.0 zh@zh-VirtualBox:/var/www/html/mabuhay$ sudo curl -sS https://getcomposer.org/inst…
ORACLE数据库有时候需要对存储进行调整,增加分区.IO调优等等,此时需要移动数据文件.重做日志文件.控制文件等等,下文结合例子总结一下这方面的知识点. 进行数据文件.重做日志文件.控制文件的迁移前,需要总体了解一下当前Linux服务器的磁盘.分区信息,以及服务器文件使用情况,如下所示 查看Linux服务器的文件使用情况 1: [root@DB-Server ~]# df -h 2:  3: Filesystem Size Used Avail Use% Mounted on 4:  5: /…
以下脚本主要备份的日志文件为tomcat的catalina.out.localhost_access_log.yyyy-mm-dd.log日志和项目的日志文件,其中项目的日志文件格式为"projectname-yyyy-mm-dd.log",以下为备份脚本,具体的操作都有相应的注释,供大家参考,具体情况请根据日志文件的格式和要求来使用本脚本. #!/bin/sh ##############################################################…
古怪的需求 在实习的公司碰到一个古怪的需求:在一台服务器上写日志文件,每当日志文件写到一定大小时,比如是1G,会将这个日志文件改名成另一个名字,并新建一个与原文件名相同的日志文件,再往这个新建的日志文件里写数据:要求写一个程序能实时地读取日志文件中的内容,并且不能影响写操作与重命名操作. RandomAccessFile类中seek方法可以从指定位置读取文件,可以用来实现文件实时读取.JDK文档对RandomAccessFile的介绍 Instances of this class suppor…
一.RESET MASTER 这个语句可以验证首次配置主机备机是否成功.步骤如下: 1. 启动master和 slave,开启replication (即 复制) 注:replication (复制) 也是mysql一个重要的技术 2.运行一些测试的语句看数据是否能够复制到 slave上面 3.当复制运行正常的话,就 stop slace 然后在slave上面执行 reset slave,去掉不需要的数据 4.在master上面执行reset master 去掉2中产生的数据 可以删除列于索引文…