首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏sofu456

    glog编译

    缺少pthread.h glog0.4.0版本,vs2015以上的版本编译,vs2015兼容linux的头文件 pthread.h不能直接在windows中使用,需要改成windows的接口数据 glog0.3.4版本 vs2015以前的编译版本 ?

    89620发布于 2019-12-20
  • 来自专栏方亮

    GoogleLog(GLog)源码分析

            GLog是Google开发的一套日志输出框架。由于其具有功能强大、方便使用等特性,它被众多开源项目使用。本文将通过分析其源码,解析Glog实现的过程。         (转载请指明出于breaksoftware的csdn博客)         首先我们介绍下Glog简单的使用方法。Glog暴露了很多方法供使用者调用,一般它们都是通过宏的形式提供的。 05到11行向GLog系统中输出了4中类型的日志,即INFO、WARNING、ERROR和FATAL。GLog框架一共提供了上述四种类型的日志,这些日志将被分别输出到四个文件中。 const int GLOG_INFO = 0, GLOG_WARNING = 1, GLOG_ERROR = 2, GLOG_FATAL = 3, NUM_SEVERITIES = 4;         在阅读代码和实验其使用过程中,可以发现GLog是一个非常优秀的日志开源库。但是如果想让GLog灵活的应用于产品中,其实还有很多事情可以做。

    3K20发布于 2019-01-16
  • 来自专栏sunsky

    Golang glog使用详解

    golang/glog 是 C++ 版本 google/glog 的 Go 版本实现,基本实现了原生 glog 的日志格式。在 Kuberntes 中,glog 是默认日志库。 main() { flag.Parse() defer glog.Flush() glog.Info("This is info message") glog.Infof("This is info ) glog.ErrorDepth(1, "This is error message", 12345) glog.Fatal("This is fatal message") glog.Fatalf vmodule 功能 glog 最常用的就是 V level 的功能,如下所示: func main() { flag.Parse() defer glog.Flush() glog.V(3). () bar() glog.V(3).Info("LEVEL 3 message") glog.V(4).Info("LEVEL 4 message") glog.V(5).Info("LEVEL

    5.8K40发布于 2020-08-20
  • 来自专栏用户2442861的专栏

    google glog 使用方法

    glog官方地址:https://code.google.com/p/google-glog/ glog作用:日志库 安装方法 . /configure make make install Hello world foo_1.cpp [cpp] view plain copy #include <glog/logging.h > int main(int argc,char* argv[]) {   // If glog is used to parse the command line  // google ); } RAW_XX  线程安全方式 <glog/raw_logging.h>中的各个RAW_XX为线程安全的使用方式。 GOOGLE_GLOG_DLL_DECL void ShutdownGoogleLogging(); 结语 以上为 glog 一些简单总结,更细致的内容见相关文档及头文件。

    6K30发布于 2018-09-19
  • 来自专栏专注数据中心高性能网络技术研发

    安装glog和gflags

    1.下载 git clone https://github.com/google/glog 2.配置 sudo apt-get install autoconf automake libtool 3.编译 '/usr/local/share/doc/glog-0.3.5' /bin/mkdir -p '/usr/local/include/glog' /usr/bin/install -c -m 644 src/glog/log_severity.h '/usr/local/include/glog' /bin/mkdir -p '/usr/local/include/glog' /usr/bin /install -c -m 644 src/glog/logging.h src/glog/raw_logging.h src/glog/vlog_is_on.h src/glog/stl_logging.h /log"; //or google::SetLogDestination(google::GLOG_INFO, ".

    5.5K50发布于 2018-03-08
  • 来自专栏Go 语言编程

    GLC - glog 日志清理类库

    glc.png 项目地址 github.com/xuri/glc 简介 GLC (glog cleaner) 是 Go 语言编写的 glog 日志清理类库,glog 是由 Google 开发的一个应用级日志框架 安装 go get github.com/xuri/glc 使用方式 下面是一个简单的例子,每小时清理日志,仅保留 30 分钟内指定目录下以 glc 做前缀由 glog 产生的日志: glc.NewGLC

    2.4K101发布于 2018-03-23
  • 来自专栏Golang语言社区

    Golang语言--日志库glog解析

    glog简介 glog是著名的google开源C++日志库glog的golang版本,glog是一个轻量级的日志库,上手简单不需要配置文件并且稳定高效,但是可以自定义控制的内容就少了。 glog主要有以下几个特点: 1. glog有四种日志等级INFO < WARING < ERROR < FATAL,不同等级的日志是打印到不同文件的,低等级的日志文件中(INFO)会包含高等级的日志信息 源码分析 我们顺着事例代码中的 glog.Error(“error glog”) 这行代码来看下,来看下日志内容是如何输出到文件中去的。 ? ? ? ? ? ? ? ? glog则采用另外一种方式实现这种功能,glog提供让用户自定义分级信息的功能,用户自定义分级与glog自带的日志等级(INFO ERROR)是完全分离的,在命令行参数设置中独立设置“v”或“vmodule 修改glog源码 glog有些功能与我们常用的日志库不太一样或者没有我们期望的功能,可以修改glog的源码来实现我们的需求。

    2.2K60发布于 2018-03-21
  • 来自专栏Golang语言社区

    Golang语言--glog日志库使用

    glog使用非常简单,只需要import就可以了。 glog package的init函数会初始化并启动一个glog 的flushDaemon协程,你只需要使用glog.Info, glog.Warning, glog.Error或glog.Fatal即可 V函数的功能是,当V函数的参数高于glog的v值时,不会执行后续的Info函数,否则就执行。 glog.V(2).Info 相当于 if glog.V(2) { Info() } V的实现很精彩,有兴趣可以看看源代码。 glog代码地址: https://github.com/golang/glog

    9K90发布于 2018-03-21
  • 来自专栏10km的专栏

    caffe:cmake编译指定glog,gflag路径

    这里$glog_source_root,gflags_source_root 是指glog,gflag源码所在的文件夹。 ,gflag的代码有bug(目前还没修改),导致即使如上一步通过GLOG_ROOT_DIR,GFLAGS_ROOT_DIR指定了glog,gflag路径,cmake也不会找到该路径下的glog,gflag "" CACHE PATH "Folder contains Google glog") if(WIN32) # 增加代码 find_path(GLOG_INCLUDE_DIR glog glog/logging.h PATHS ${GLOG_ROOT_DIR}/src/windows) else() # 增加代码 find_path(GLOG_INCLUDE_DIR glog/logging.h PATHS ${GLOG_ROOT_DIR}) endif() if(MSVC) find_library(GLOG_LIBRARY_RELEASE

    3.4K50发布于 2018-01-03
  • 来自专栏小锋学长生活大爆炸

    cmake报错找不到Glog、Gflags、Eigen3

    GlogConfig.cmake glog-config.cmake Add the installation prefix of "Glog" to CMAKE_PREFIX_PATH 解决方案 安装Glog和Gflags 1、首先保证glog已经正确安装 2、确认“glog-config.cmake”文件存在 git clone https://hub.fastgit.org/google /glog.git cd glog mkdir build && cd build cmake -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_SHARED_LIBS =ON .. make -j16 sudo make install # 然后会显示安装目录: # -- Installing: /usr/local/lib/cmake/glog/glog-config.cmake 路径的指定: set(Glog_DIR "/usr/local/lib/cmake/glog/") 4、重新编译,问题解决。

    6.5K10发布于 2021-11-04
  • 来自专栏C++开发学习交流

    【C++】开源:glog日志库配置使用

    项目介绍 项目Github地址:https://github.com/google/glog glog(Google Logging Library)是由 Google 开发的 C++ 日志库。 glog 被设计为高效、可靠和线程安全的,可以广泛应用于各种 C++ 项目中。 下面是 glog 的一些主要特点和优势: 1.简单易用的接口:glog 提供了简洁明了的 API,使得开发人员可以轻松地在应用程序中记录日志消息。 8.支持日志级别过滤:glog 支持根据日志级别设置过滤规则,可以控制输出哪些级别的日志消息到终端或文件。 glog 是一个简单易用、高效可靠的 C++ 日志库。 /glog.git cd glog mkdir build && cd build cmake .. make && sudo make install 编译运行: g++ -o main main.cpp

    2.1K10编辑于 2024-07-24
  • 来自专栏笔记+

    解决glog在Docker环境下延时高问题

    业务反馈glog组件在Docker容器内运行延时比虚拟化机要高出不少,并提供了复现的程序,复现测试程序关键代码如下: image.png 问题有复现方法就比较好办了,运行测试程序然后采用性能调试工具 前面perf的信息已经显示了内核调用链是通过sys_fadvise64触发的,那么对应到用户态接口就是posix_fadvise函数,查看glog源码 也就是由下面的代码触发的问题,那么只要通过设置-- drop_log_memory = false标志禁用glog的fadvise就能规避整个问题了: if (FLAGS_drop_log_memory) { if (file_length } 增加--drop_log_memory = false后延时基本控制在3ms内: image.png git上也已经相关的修复补丁: https://github.com/google/glog /pull/145 https://github.com/durswd/glog/commit/584efaa474e72b6c107358b32b2b57d84821802a

    1.9K70发布于 2020-05-13
  • 来自专栏10km的专栏

    MSVCMinGW中导入glog静态库的正确方式

    在linux下使用glog静态库,编译连接时只要加上glog静态库文件(.a)就可以了,在windows环境,我也同样的办法在自己的项目中使用glog静态库,用msvc/mingw编译。。。 是glog 的安装路径 find_path(GLOG_INCLUDE_DIR glog/logging.h PATHS ${GLOG_ROOT_DIR}/include) find_library(GLOG_LIBRARY (your_project ${GLOG_LIBRARY}) 在cmake中,加入glog静态库的正确方式是这样的: # GLOG_ROOT_DIR 是glog 的安装路径 find_package(glog REQUIRED CONFIG HINTS ${GLOG_ROOT_DIR}) set(GLOG_INCLUDE_DIR ${GLOG_ROOT_DIR}/include) # glog::glog is imported target set(GLOG_LIBRARY glog::glog) ... target_link_libraries(your_project ${GLOG_LIBRARY

    3.2K60发布于 2018-01-03
  • 来自专栏C++

    glog(Google Log):企业级C++日志库指南

    glog(GoogleLog):企业级C++日志库指南目录什么是glog核心特性优缺点分析适用场景安装与配置快速上手示例与其他日志库对比总结与推荐什么是glogglog(GoogleLog)是由Google )快速上手示例展开代码语言:C++AI代码解释#include<glog/logging.h>intmain(intargc,char*argv[]){//初始化gloggoogle::InitGoogleLogging ;//基本日志输出LOG(INFO)<<"Hello,glog!" 虽然glog在功能扩展性和Windows平台支持方面存在一些局限性,但其稳定性和易用性使其成为许多大型项目的首选日志解决方案。 项目地址https://github.com/google/glog提示:如果你的项目是大型企业级应用,对稳定性和可靠性要求较高,glog是一个值得考虑的选择。

    19910编辑于 2026-03-09
  • 来自专栏蓝天

    对于glog中ShutdownGoogleLogging后不能再次InitGoogleLogging问题的解决办法

    注:最近代码已修复此bug https://code.google.com/p/google-glog/issues/detail? id=142 https://code.google.com/p/google-glog/source/browse/trunk/src/utilities.cc 问题原因非常简单,utilities.cc 源码文件logging.cc 1803 void InitGoogleLogging(const char* argv0) { 1804   glog_internal_namespace_::InitGoogleLoggingUtilities (argv0); 1805 } 1806  1807 void ShutdownGoogleLogging() { 1808   glog_internal_namespace_::ShutdownGoogleLoggingUtilities

    2K20发布于 2018-08-10
  • 来自专栏老高的技术博客

    golang使用multiconfig后导致glog无法接受命令行参数

    但是同时他也带来了一个问题,和glog一起工作的时候会报错: flag provided but not defined: -alsologtostderr 因为项目同时使用了glog包,而命令行参数 glog在init方法中新建了6个flag flag.BoolVar(&logging.toStderr, "logtostderr", false, "log to standard error instead stack trace") 他们被默认添加进了CommandLine中,但是在multiconfig中只是在自己定义的flagSet中进行了校验,所以导致了这个BUG,修复的方法就是在Parse前将glog VisitAll方法 flag.VisitAll(func(ff *flag.Flag) { f.flagSet.Var(ff.Value, ff.Name, ff.Usage) }) 之后还要保证glog 还有一个方法 其实你应该想到一个方法,可以在不修改源码的情况下消除此bug,就是在自己的配置中加入glog的六个配置结构即可!不过这种做法移植性不强,不过也算是一个hack啦~

    93530编辑于 2022-12-28
  • 来自专栏用户2442861的专栏

    caffe源码分析-cmake 工程构建

    /) endif (NOT DEFINED GLOG_ROOT) #set(GLOG_ROOT_DIR "" CACHE PATH "Folder contains Google glog") find_path (GLOG_INCLUDE_DIR glog/logging.h PATHS ${GLOG_ROOT_DIR} PATH_SUFFIXES src) find_library(GLOG_LIBRARY glog libglog PATHS ${GLOG_ROOT_DIR} PATH_SUFFIXES GLOG_INCLUDE_DIR GLOG_LIBRARY) if(GLOG_FOUND) set(GLOG_INCLUDE_DIRS ${GLOG_INCLUDE_DIR}) set (GLOG_LIBRARIES ${GLOG_LIBRARY}) message("GLOG_INCLUDE_DIRS ${GLOG_INCLUDE_DIRS}===========")

    1.3K20发布于 2019-02-25
  • 来自专栏正则

    新建一个简单的React-Native工程

    RN工程报错:error: couldn't create directory /Users/dmy/HelloWorld/node_modules/react-native/third-party/glog deniederror: couldn't create directory /Users/dmy/HelloWorld/node_modules/react-native/third-party/glog deniederror: couldn't create directory /Users/dmy/HelloWorld/node_modules/react-native/third-party/glog deniederror: couldn't create directory /Users/dmy/HelloWorld/node_modules/react-native/third-party/glog deniederror: couldn't create directory /Users/dmy/HelloWorld/node_modules/react-native/third-party/glog

    1.2K10发布于 2021-11-02
  • 来自专栏Golang语言社区

    Golang语言情怀--第142期 Go语言Ebiten引擎《荒野坦克大战》开发PC端:调试访问Proxy服务器

    截图如下: 部分核心代码: // 连接代理服务器 func ConnProxy(ProxyUrl, Token string) { glog.Info("data----------游戏服务器ID = nil { glog.Info("----链接服务器成功!") = nil { glog.Errorln(fmt.Sprintf("ERROR:[%s]\nSTACK:[%s\n]", err, string(debug.Stack()))) } }() glog.Info("----GameServerReceive!") = nil { glog.Errorln(errr) continue } glog.Info("收到数据:", string

    26110编辑于 2024-11-21
  • 来自专栏10km的专栏

    CentOS6.5编译Caffe过程记录(系统存在多个编译器)

    ,lmdb sudo yum install gflags-devel glog-devel lmdb-devel 出问题了,yum list并没有找到glog… 于是我索性去github下载了 gflags和glob重新编译 gflags下载地址:https://github.com/gflags/gflags glog下载地址:https://github.com/google/glog 编译glog build_glog.sh #! /bin/sh glog_folder=glog-master if [ -d $glog_folder ] then rm -fr $glog_folder fi # 从 https://github.com /google/glog 下载glog源码 glog-master.zip解压缩 unzip glog-master.zip pushd $glog_folder # 执行cmake生成Makefile

    1.1K10发布于 2019-05-25
领券