使用CocoaLumberjack时,自定义的log文件名

CocoaLumberjack是一个功能丰富的第三方日志系统。其生成的log文件,默认是自动命名的,如果需要自定义文件名,重载两个函数即可。

// Log.h#import "CocoaLumberjack.h"

@interface CustomLogFileManager : DDLogFileManagerDefault

- (instancetype)initWithLogsDirectory:(NSString *)logsDirectory fileName:(NSString *)name;

@end
// Log.m#import <Foundation/Foundation.h>

#import "Log.h"

@interface CustomLogFileManager ()

@property (nonatomic, copy) NSString *fileName;

@end

@implementation CustomLogFileManager

#pragma mark - Lifecycle method

- (instancetype)initWithLogsDirectory:(NSString *)logsDirectory
                             fileName:(NSString *)name
{
    self = [super initWithLogsDirectory:logsDirectory];
    if (self) {
        self.fileName = name;
    }
    return self;
}

#pragma mark - Override methods

- (NSString *)newLogFileName
{
    return [NSString stringWithFormat:@"%@", self.fileName];
}

- (BOOL)isLogFile:(NSString *)fileName
{
    return [fileName isEqualToString:self.fileName];
}

@end
时间: 2024-10-12 20:47:53

使用CocoaLumberjack时,自定义的log文件名的相关文章

利用 CocoaLumberjack 搭建自己的 Log 系统(转)

一直需要一个 Log 系统,可以将程序运行过程中打的 log 发送到自己服务器,方便之后数据分析或者除错.之前也尝试过找一些第三方服务,但看来看去,国内貌似没看到专门做这一块的,而国外看了下有 Loggly,似乎满足需求,但它要收费且日志保存时间太短.后来无意间看了下 Loggly 提供的 SDK 源代码,发现了CocoaLumberjack这个好东西,而 Loggly 其也不过就是在 CocoaLumberjack 上自定义了 Logger 和 Formatter 而已.自己做的话,也很简单.

利用 CocoaLumberjack 搭建自己的 Log 系统

先说下需求,我理想中的 Log 系统需要: 可以设定 Log 等级 可以积攒到一定量的 log 后,一次性发送给服务器,绝对不能打一个 Log 就发一次 可以一定时间后,将未发送的 log 发送到服务器 可以在 App 切入后台时将未发送的 log 发送到服务器 其他一些需求,比如可以远程设定发送 log 的等级阀值,还有阀值的有效期等,和本文无关就不写了. 开始动手前,先了解下 CocoaLumberjack 是什么: CocoaLumberjack 最早是由 Robbie Hanson 开发

C#自定义设计器——文件名选择编辑器

 C#自定义设计器--文件名选择编辑器 暑期的时候用MCI封装了一个播放音乐的类,最近学习了GDI+,想着将这个类做成一个自定义的控件,那么在做的过程中有一个属性,如下: public string FileName { get { return fileName; } set { fileName = value; } } private string fileName; 编译之后,将它加到窗体上后,调到该控件的属性编辑框,可以看到,在杂项中有这个属性,我们可以再后面的框框中输入文件名,可

使用CarrierWave上传图片时,多版本文件名的统一

第一次使用CarrierWavewe做上传,不能不说,虽然Rails已经把上传变得超简单了,而CarrierWave则是把上传变成了一种享受,特别是做图片上传,现在这年代,图片展示平台已经不仅仅是电脑了,各移动端也是必须要兼顾的,这导致了上传的图片,一般都需要有好几个版本大小,如果还纯手工的使用RMagick之类慢慢处理的话,实在是有点郁闷,而CarrierWave配上MiniMagick,一个version搞定一切,真的是感觉“倍儿爽”. 不过在使用过程中,也发现了几个小问题,最主要的就是,就

android打包生成apk时自定义文件名版本号。自定义项目字段等等

早期的AS2.0版本左右中这样配置: app---->build.gradle中设置 applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { def fileName = "driver_

用正则表达式过滤 Android 调试时的无用 Log

在使用 Android 设备(尤其是真机)进行程序测试,查看 Logcat 时,一些无用的日志(例如 JDWP 的信息)会和我们关注的 Log 一起打印出来,给实时查看日志带来了不便.好在 Android Studio 的 Log 搜索允许正则表达式匹配搜索.利用正则表达式过滤掉无用的关键字,算得上是一种免受刷屏困扰的比较轻量的方式.匹配不包含特定关键字的正则表达式如下: ^(?!.*关键字1)(?!.*关键字2)(?!.*关键字3) 其中的^代表一行开头:其中的.*用来表示这个关键字之前可能有

log日志应用 自定义的log

package com.kxd.utils; import java.util.Hashtable; import android.util.Log; /** * The class for print log * */ public class MyLogger { private final static boolean logFlag = true; // 调试模式 true 上线模式 false public final static String tag = "远程银行";/

IOS重写description方法,自定义控制台(log)信息

description是所有类都有的一个方法. 我们重写这个方法,可以自定义实例输出的信息. 比如我们创建一个Person类: 在.h文件中添加两个属性: #import <Foundation/Foundation.h> @interface Person : NSObject @property (strong, nonatomic) NSString *name; @property (assign, nonatomic) int age; @end 在.m文件中重写descriptio

VS2010 发布网站时如何使DLL文件名固定

VS在发布网站时,bin目录里为所有cs生成的dll文件每次都是随机命名的,如:App_Web_xxxxxxxx.dll(xxxxxxx是8个小写的字母和数字组成的字符串,随机的),这样对更新 Live 站点很不方便,因为动态库名变了,涉及到每一个 aspx 文件每次都重新更改了对库的引用声明: <%@ page language="C#" autoeventwireup="true" inherits="_Default, App_Web_s9no