使用Log4j2实现日志输出

一、说明 如果是使用slf4j规范的,请先引用:

二、测试类

三、配置 在Maven项目的resources目录下,或者Java项目的src下,新建log4j2.xml文件。这里要注意,如果是使用的log4j1版本,请添加log4j.properties文件并配置,但是在log4j2中已经废弃了log4j.properties文件的使用,使用的是log4j2.xml。参考如下内容:

  说明:上面配置的最低Level为DEBUG,同时使用了Console和RollingFile两种输出方式。所以输出的日志,一方面输出到控制台,一方面输出到logs/app.log中,当app.log达到5MB时,就会自动生成gz压缩文件到/logs下,并清空app.log,继续输出到app.log,以此循环。 四、运行并输出日志     宋兴柱(Sindrol):转载内容,请标明出处,谢谢!源文来自 宝贝云知识分享:https://www.dearcloud.cn from:https://www.cnblogs.com/songxingzhu/p/8867817.html

龙生   08 Dec 2020
View Details

Android Studio 关于Kotlin Gradle plugin version编译出错问题

Android编译出错:The Android Gradle plugin supports only Kotlin Gradle plugin version 1.2.51 and higher. Project ‘Test’ is using version 1.2.30. 打开build.gradle(Project) 修改buildscript中的ext.kotlin_version = ‘1.2.30’ 改成ext.kotlin_version = ‘1.2.51’ 最后点击Sync Now,重新编译就好了   from:https://blog.csdn.net/qq_34947048/article/details/85250198

龙生   08 Dec 2020
View Details

解决"No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android"错误

今天安装了Android Studio 3.2,打开一个旧工程,编译提示"No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android" 网上也有解决办法,就是下载旧版的NDK,将其中的toolchain复制到新版的NDK中 但是感觉这种方式,不是解决的正道。 经过对新版NDK的研究,发现NDK的更新记录里有一段话 This version of the NDK is incompatible with the Android Gradle plugin version 3.0 or older. If you see an error like No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android, update your project file to [use plugin version 3.1 or newer]. You will also need to upgrade to Android Studio 3.1 or newer.   也就是说新版本的NDK与3.0及以前旧版的Android Gradle plugin插件不兼容 其实解决方法很简单,就是修改build.gradle中的红字部分,改为3.1以上版本即可

  from:https://blog.csdn.net/vocanicy/article/details/83004626

龙生   08 Dec 2020
View Details

错误NDK is missing a "platforms" directory.

编译错误提示:Gradle sync failed: Could not run build action using Gradle distribution 'https://services.gradle.org/distributions/gradle-4.1-all.zip'. 点击Gradle Console NDK is missing a "platforms" directory. If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to D:\AndroidStudioSDK\ndk-bundle. If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning. 不言而喻,NDK缺少一个“platforms”目录。如果您正在使用NDK,请验证NDK。将dir设置为有效的NDK目录。目前它被设置为D: AndroidStudioSDK\ndk-bundle。如果不使用NDK,请从ANDROID_NDK_HOME或local中卸载NDK变量。属性删除此警告。 这个错误Google 的坑。目前只有兼容最新的NDK版本才能解决。 解决办法: 1.打开SDK Manager 2.勾选上NDK最新版本,安装成功后Apply 3.安装完成后重新build下项目搞定!   from:https://blog.csdn.net/github_36787585/article/details/82841129

龙生   08 Dec 2020
View Details

Java Map 接口

Map 接口中键和值一一映射. 可以通过键来获取值。 给定一个键和一个值,你可以将该值存储在一个 Map 对象。之后,你可以通过键来访问对应的值。 当访问的值不存在的时候,方法就会抛出一个 NoSuchElementException 异常。 当对象的类型和 Map 里元素类型不兼容的时候,就会抛出一个 ClassCastException 异常。 当在不允许使用 Null 对象的 Map 中使用 Null 对象,会抛出一个 NullPointerException 异常。 当尝试修改一个只读的 Map 时,会抛出一个 UnsupportedOperationException 异常。 序号 方法描述 1 void clear( ) 从此映射中移除所有映射关系(可选操作)。 2 boolean containsKey(Object k) 如果此映射包含指定键的映射关系,则返回 true。 3 boolean containsValue(Object v) 如果此映射将一个或多个键映射到指定值,则返回 true。 4 Set entrySet( ) 返回此映射中包含的映射关系的 Set 视图。 5 boolean equals(Object obj) 比较指定的对象与此映射是否相等。 6 Object get(Object k) 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。 7 int hashCode( ) 返回此映射的哈希码值。 8 boolean isEmpty( ) 如果此映射未包含键-值映射关系,则返回 true。 9 Set keySet( ) 返回此映射中包含的键的 Set 视图。 10 Object put(Object k, Object v) 将指定的值与此映射中的指定键关联(可选操作)。 11 void putAll(Map m) […]

龙生   08 Dec 2020
View Details

vue 进入页面与离开页面触发事件

1.切换进入当前路由之前的钩子函数 beforeRouteEnter

2.离开当前路由之前的钩子函数 beforeRouteLeave

  from:https://www.cnblogs.com/gqx-html/p/11233014.html

龙生   08 Dec 2020
View Details

移动端:div在手机页面上随意拖动/拖拽

为了兼容PC和移动端,想出了以下办法: 拖动时候用到的三个事件: mousedown 、 mousemove 、 mouseup 在移动端都不起任何作用。毕竟移动端是没有鼠标的,查资料后发现,在移动端与之相对应的分别是: touchstart 、 touchmove 、 touchend 事件。还有一点要注意的是在PC端获取当前鼠标的坐标是: event.clientX 和 event.clientY ,在移动端获取坐标位置则是: event.touches[0].clientX 和 event.touches[0].clientY 。下面就来说说怎么实现这个效果吧,先看一下效果: PC端 : 移动端 : 先来分析一个拖动的流程,以PC端为例,首先是鼠标按下( mousedown 事件),然后移动( mousemove 事件),最后释放鼠标( mouseup 事件),首先要设置一个变量记录鼠标是否按下,在鼠标按下的时候,我们做一个标记,然后需要记录一下鼠标当前的坐标,还有这个div当前的偏移量,当鼠标开始移动的时候,记录下鼠标当前的坐标,用鼠标当前的坐标减去鼠标按下时的坐标再加上鼠标按下时div的偏移量就是现在div距离父辈元素的距离,当鼠标释放的时候将标记改为鼠标已经释放。下面来看一下代码:

然后在将事件加入到这个div中即可,下面再来看一个在移动端需要做些什么,首先是事件不同,只需要在添加移动端的 touchatart 、 touchmove 、 touchend 就可以了,还有一个不同的时移动端获取坐标是 event.touches[0].clientX 和 event.touches[0].clientY ,这也很简单,只要加上判断就可以了,如果是PC端就使用event,如果是移动端就使用 event.touches :

还有一点要注意,在移动端拖动div的时候移动端的页面会自动产生滑动效果,所以还需要在 touchmove 的是给页面添加一个阻止默认事件的函数。 下面是整个代码,可以在Chrome下模拟移动端测试,点击这里查看:

  from:https://www.cnblogs.com/joyco773/p/6519668.html

龙生   08 Dec 2020
View Details

更换安卓模拟器路径

修改系统变量 变量名:ANDROID_SDK_HOME 变量值:存放avd的路径,如:D:\AVD 在Android Studio中运行模拟器时,提示Error: Not enough disk space to run AVD '….'. Exiting。是说安装模拟的磁盘空间不足,导致无法运行模拟器。 Android Studio 安装之后,默认的模拟器会安装在C盘中,可以打开模拟器管理界面,右键查看(Show on disk)模拟器安装的目录。如下图: 我的模拟器安装路径为: C:\Users\Administrator\.android\avd, 其中的avd文件夹就是用来存放模拟器镜像文件的。   第一步:需要将Pixel_API_27.avd的文件夹移出C盘,放入空间足够的磁盘中。   第二步:就是要修改Pixel_API_27.ini(在此就称为模拟器配置文件吧,我也是新手不太懂)文件中模拟器的路径。 然后重新运行模拟器,没有问题应该可以运行起来。   from:https://www.cnblogs.com/wang2804355025/p/13155556.html

龙生   05 Dec 2020
View Details

MySql连接数据库

C#中连接MySql数据库,需要配置MySql.Data。   1.配置 项目- 管理NuGet程序包 – 安装MySql.Data。 2.示例代码

  3.注意事项 运行上述代码,如果出现异常 “IOException: Unable to read data from the transport connection: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”。首先,确认数据库是否允许远程连接;其次,防火墙是否打开;最后,连接字符串是否正确,是否支持SSL。 出现异常“The host localhost does not support SSL connections.”说明不支持SSL,需要在连接字符串里添加SslMode = "none"。   from:https://blog.csdn.net/liyazhen2011/article/details/82845279

龙生   04 Dec 2020
View Details

Weex自定义Module

面试之家只是为了学习和交流使用Weex,题库等内容不可用于商业项目 在Weex开发中,使用自定义Module的方式,来扩展Weex的能力,官方教程在这里,这里我以自定义分享模块来举例 第一步 先创建一个继承与NSObject的基类UM_WeexModule,然后引入头文件#import <WeexSDK.h>,并继承WXModuleProtocol协议。 第二步 实现方法并暴露给JS

  第三步 将方法抛出给JS

  第四步 初始化时注册到WeexSDK

  第五步 JS调用

  结语 本篇文章旨在分享如何通过自定义Module来扩展Weex的能力,由于最近在忙于找工作,所以写的不是很深入,等过段时间稳定之后,会在继续分享Weex实现原理,以及从注册方法到可以被JS调用中间的实现过程。 作者:GL_fire 链接:https://www.jianshu.com/p/37b884515125 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

龙生   04 Dec 2020
View Details
1 110 111 112 418