├── .github └── workflows │ ├── ci.yml │ └── codeql-analysis.yml ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── loggedfs.1 ├── loggedfs.spec ├── loggedfs.xml ├── src ├── Config.cpp ├── Config.h ├── Filter.cpp ├── Filter.h └── loggedfs.cpp ├── test.sh └── vendor └── github.com └── muflihun └── easyloggingpp ├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── CMakeLists.txt ├── LICENCE ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── cmake ├── FindEASYLOGGINGPP.cmake └── Findgtest.cmake ├── doc ├── RELEASE-NOTES-v9.00 ├── RELEASE-NOTES-v9.01 ├── RELEASE-NOTES-v9.02 ├── RELEASE-NOTES-v9.03 ├── RELEASE-NOTES-v9.04 ├── RELEASE-NOTES-v9.05 ├── RELEASE-NOTES-v9.06 ├── RELEASE-NOTES-v9.07 ├── RELEASE-NOTES-v9.08 ├── RELEASE-NOTES-v9.09 ├── RELEASE-NOTES-v9.10 ├── RELEASE-NOTES-v9.11 ├── RELEASE-NOTES-v9.12 ├── RELEASE-NOTES-v9.13 ├── RELEASE-NOTES-v9.14 ├── RELEASE-NOTES-v9.15 ├── RELEASE-NOTES-v9.16 ├── RELEASE-NOTES-v9.17 ├── RELEASE-NOTES-v9.18 ├── RELEASE-NOTES-v9.19 ├── RELEASE-NOTES-v9.20 ├── RELEASE-NOTES-v9.21 ├── RELEASE-NOTES-v9.22 ├── RELEASE-NOTES-v9.23 ├── RELEASE-NOTES-v9.24 ├── RELEASE-NOTES-v9.25 ├── RELEASE-NOTES-v9.26 ├── RELEASE-NOTES-v9.27 ├── RELEASE-NOTES-v9.28 ├── RELEASE-NOTES-v9.29 ├── RELEASE-NOTES-v9.30 ├── RELEASE-NOTES-v9.31 ├── RELEASE-NOTES-v9.32 ├── RELEASE-NOTES-v9.33 ├── RELEASE-NOTES-v9.34 ├── RELEASE-NOTES-v9.35 ├── RELEASE-NOTES-v9.36 ├── RELEASE-NOTES-v9.37 ├── RELEASE-NOTES-v9.38 ├── RELEASE-NOTES-v9.39 ├── RELEASE-NOTES-v9.40 ├── RELEASE-NOTES-v9.41 ├── RELEASE-NOTES-v9.42 ├── RELEASE-NOTES-v9.43 ├── RELEASE-NOTES-v9.44 ├── RELEASE-NOTES-v9.45 ├── RELEASE-NOTES-v9.46 ├── RELEASE-NOTES-v9.47 ├── RELEASE-NOTES-v9.48 ├── RELEASE-NOTES-v9.49 ├── RELEASE-NOTES-v9.50 ├── RELEASE-NOTES-v9.51 ├── RELEASE-NOTES-v9.52 ├── RELEASE-NOTES-v9.53 ├── RELEASE-NOTES-v9.54 ├── RELEASE-NOTES-v9.55 ├── RELEASE-NOTES-v9.56 ├── RELEASE-NOTES-v9.57 ├── RELEASE-NOTES-v9.58 ├── RELEASE-NOTES-v9.59 ├── RELEASE-NOTES-v9.60 ├── RELEASE-NOTES-v9.61 ├── RELEASE-NOTES-v9.62 ├── RELEASE-NOTES-v9.63 ├── RELEASE-NOTES-v9.64 ├── RELEASE-NOTES-v9.65 ├── RELEASE-NOTES-v9.66 ├── RELEASE-NOTES-v9.67 ├── RELEASE-NOTES-v9.68 ├── RELEASE-NOTES-v9.69 ├── RELEASE-NOTES-v9.70 ├── RELEASE-NOTES-v9.71 ├── RELEASE-NOTES-v9.72 ├── RELEASE-NOTES-v9.73 ├── RELEASE-NOTES-v9.74 ├── RELEASE-NOTES-v9.75 ├── RELEASE-NOTES-v9.76 ├── RELEASE-NOTES-v9.77 ├── RELEASE-NOTES-v9.78 ├── RELEASE-NOTES-v9.79 ├── RELEASE-NOTES-v9.80 ├── RELEASE-NOTES-v9.81 ├── RELEASE-NOTES-v9.82 ├── RELEASE-NOTES-v9.83 ├── RELEASE-NOTES-v9.84 ├── RELEASE-NOTES-v9.85 ├── RELEASE-NOTES-v9.86 ├── RELEASE-NOTES-v9.87 ├── RELEASE-NOTES-v9.88 ├── RELEASE-NOTES-v9.89 ├── RELEASE-NOTES-v9.90 ├── RELEASE-NOTES-v9.91 ├── RELEASE-NOTES-v9.92 ├── RELEASE-NOTES-v9.93 └── RELEASE-NOTES-v9.94 ├── samples ├── .gitignore ├── API │ ├── .gitignore │ ├── build_all.sh │ ├── compile.sh │ ├── easylogging++.cc │ ├── easylogging++.h │ ├── logbuilder.cpp │ ├── run.sh │ └── run_all.sh ├── MinGW │ ├── .gitignore │ ├── compile.bat │ ├── easylogging++.cc │ ├── easylogging++.h │ └── prog.cpp ├── OpenGL │ ├── .gitignore │ ├── Cube │ │ ├── .gitignore │ │ ├── LICENCE │ │ ├── Makefile │ │ ├── imageloader.cpp │ │ ├── imageloader.h │ │ ├── main.cpp │ │ └── vtr.bmp │ ├── basic.cpp │ ├── build_all.sh │ ├── compile.sh │ ├── easylogging++.cc │ ├── easylogging++.h │ ├── run.sh │ └── run_all.sh ├── Qt │ ├── .gitignore │ ├── basic │ │ ├── README.md │ │ ├── easylogging++.h │ │ ├── main.cpp │ │ ├── mythread.h │ │ ├── qt-sample.pro │ │ └── test_conf.conf │ ├── fast-dictionary │ │ ├── .gitignore │ │ ├── README.md │ │ ├── fast-dictionary.pro │ │ ├── listwithsearch.cc │ │ ├── listwithsearch.hh │ │ ├── main.cc │ │ ├── mainwindow.cc │ │ ├── mainwindow.hh │ │ ├── mainwindow.ui │ │ ├── moc_listwithsearch.cpp │ │ ├── moc_mainwindow.cpp │ │ ├── sample.gif │ │ ├── ui_mainwindow.h │ │ └── words.txt │ ├── file-splitter-joiner │ │ ├── .gitignore │ │ ├── README.md │ │ ├── about.cpp │ │ ├── about.h │ │ ├── about.ui │ │ ├── addsplittedfiledialog.cpp │ │ ├── addsplittedfiledialog.h │ │ ├── addsplittedfiledialog.ui │ │ ├── easylogging++.h │ │ ├── file-splitter-and-joiner.pro │ │ ├── joinercore.cpp │ │ ├── joinercore.h │ │ ├── joinerwidget.cpp │ │ ├── joinerwidget.h │ │ ├── joinerwidget.ui │ │ ├── main.cpp │ │ ├── mainwindow.cpp │ │ ├── mainwindow.h │ │ ├── partprocessor.cpp │ │ ├── partprocessor.h │ │ ├── splitablefiledelegate.cpp │ │ ├── splitablefiledelegate.h │ │ ├── splittercore.cpp │ │ ├── splittercore.h │ │ ├── splitterwidget.cpp │ │ ├── splitterwidget.h │ │ └── splitterwidget.ui │ └── shared-lib │ │ ├── README.md │ │ ├── myapp │ │ ├── easylogging++.h │ │ ├── main.cc │ │ └── myapp.pro │ │ └── mylib │ │ ├── easylogging++.h │ │ ├── mylib.cc │ │ ├── mylib.hh │ │ ├── mylib.pro │ │ └── mylib_global.hh ├── STL │ ├── .gitignore │ ├── .travis_build.sh │ ├── all-logs.cpp │ ├── autospace.cpp │ ├── build_all.sh │ ├── check-macros.cpp │ ├── compile.sh │ ├── conditional.cpp │ ├── configurator.cpp │ ├── containers.cpp │ ├── crash.cpp │ ├── custom-class.cpp │ ├── custom-crash-handler.cpp │ ├── custom-format-spec.cpp │ ├── custom-performance-output.cpp │ ├── default-configurations.cpp │ ├── default-log-file-from-arg.cpp │ ├── del-logger.cpp │ ├── different-output.cpp │ ├── easylogging++.cc │ ├── easylogging++.h │ ├── flags.cpp │ ├── global-configuration.cpp │ ├── helpers.cpp │ ├── locale.cpp │ ├── log-dispatch-callback.cpp │ ├── loggable.cpp │ ├── logger-log-functions.cpp │ ├── logrotate-pthread.cpp │ ├── logrotate.conf │ ├── logrotate.cpp │ ├── make-loggable.cpp │ ├── manipulators.cpp │ ├── multiple-loggers.cpp │ ├── new-logger-registration-callback.cpp │ ├── no-default-log-file.cpp │ ├── occasional.cpp │ ├── plog.cpp │ ├── post-performance-tracking-handler.cpp │ ├── pthread.cpp │ ├── roll-out.cpp │ ├── run.sh │ ├── run_all.sh │ ├── shared-static-libs │ │ ├── .gitignore │ │ ├── README.md │ │ ├── compile_shared.sh │ │ ├── compile_static.sh │ │ ├── easylogging++.h │ │ ├── lib │ │ │ ├── include │ │ │ │ ├── easylogging++.h │ │ │ │ └── mylib.hpp │ │ │ └── mylib.cpp │ │ └── myapp.cpp │ ├── smart-pointer-null-check.cpp │ ├── std-array.cpp │ ├── syslog.cpp │ ├── thread-names.cpp │ ├── timed-block.cpp │ ├── timed-scope.cpp │ ├── verbose.cpp │ └── very-basic.cpp ├── VC++ │ ├── VCPP2015_Win32 │ │ ├── .vs │ │ │ └── VCPP2015_Win32 │ │ │ │ └── v14 │ │ │ │ └── .suo │ │ ├── VCPP2015_Win32.sln │ │ └── VCPP2015_Win32 │ │ │ ├── VCPP2015_Win32.vcxproj │ │ │ ├── VCPP2015_Win32.vcxproj.filters │ │ │ ├── VCPP2015_Win32.vcxproj.user │ │ │ ├── easylogging++.cpp │ │ │ ├── easylogging++.h │ │ │ └── main.cpp │ └── VCPP2015_Win32_Multithreaded │ │ ├── .vs │ │ └── VCPP2015_Win32 │ │ │ └── v14 │ │ │ └── .suo │ │ ├── VCPP2015_Win32.sln │ │ └── VCPP2015_Win32 │ │ ├── VCPP2015_Win32.vcxproj │ │ ├── VCPP2015_Win32.vcxproj.filters │ │ ├── easylogging++.cc │ │ ├── easylogging++.h │ │ └── main.cpp ├── async │ ├── .gitignore │ ├── build.sh │ ├── easylogging++.cc │ ├── easylogging++.h │ ├── mymath.h │ └── prog.cpp ├── boost │ ├── .gitignore │ ├── build_all.sh │ ├── compile.sh │ ├── deque.cpp │ ├── easylogging++.cc │ ├── easylogging++.h │ ├── list.cpp │ ├── map.cpp │ ├── run.sh │ ├── run_all.sh │ ├── set.cpp │ ├── string.cpp │ └── vector.cpp ├── console.conf ├── default-logger.conf ├── file.conf ├── global.conf ├── gtkmm │ ├── .gitignore │ ├── build_all.sh │ ├── compile.sh │ ├── easylogging++.cc │ ├── easylogging++.h │ ├── hello_gtkmm │ │ ├── .gitignore │ │ ├── compile.sh │ │ ├── easylogging++.h │ │ ├── main.cc │ │ ├── window.cc │ │ └── window.h │ ├── run.sh │ ├── run_all.sh │ ├── sigc++.cpp │ └── ustring.cpp ├── send-to-network │ ├── .gitignore │ ├── README.md │ ├── compile.sh │ ├── easylogging++.cc │ ├── easylogging++.h │ └── network-logger.cpp └── wxWidgets │ ├── .gitignore │ ├── build_all.sh │ ├── compile.sh │ ├── easylogging++.cc │ ├── easylogging++.h │ ├── run.sh │ ├── run_all.sh │ ├── wxhashmap.cpp │ ├── wxhashset.cpp │ ├── wxlist.cpp │ ├── wxlonglong.cpp │ ├── wxstring.cpp │ └── wxvector.cpp ├── src ├── easylogging++.cc └── easylogging++.h ├── test ├── .gitignore ├── .travis_build.sh ├── build_and_run.sh ├── command-line-args-test.h ├── configurations-test.h ├── custom-format-specifier-test.h ├── date-utils-test.h ├── easylogging++.cc ├── easylogging++.h ├── enum-helper-test.h ├── file-utils-test.h ├── format-specifier-test.h ├── global-configurations-test.h ├── helpers-test.h ├── hit-counter-test.h ├── log-format-resolution-test.h ├── loggable-test.h ├── logger-test.h ├── macros-test.h ├── main.cc ├── os-utils-test.h ├── plog-test.h ├── post-log-dispatch-handler-test.h ├── registry-test.h ├── strict-file-size-check-test.h ├── string-utils-test.h ├── syslog-test.h ├── test.h ├── typed-configurations-test.h ├── utilities-test.h ├── verbose-app-arguments-test.h └── write-all-test.h └── tools ├── .gitignore ├── cpplint.py └── release.sh /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | on: push 2 | 3 | jobs: 4 | build-linux: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - uses: actions/checkout@v1 8 | - run: sudo apt-get install --assume-yes libpcre2-dev libfuse-dev fuse libxml2-dev attr 9 | - run: make 10 | - run: ./test.sh 11 | 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | loggedfs 3 | -------------------------------------------------------------------------------- /loggedfs.1: -------------------------------------------------------------------------------- 1 | .TH LoggedFS 1 "JANUARY 2007" "User Manuals" 2 | .SH NAME 3 | LoggedFS \- Filesystem monitoring with Fuse 4 | .SH SYNOPSIS 5 | .B loggedfs [-fp] [-c 6 | .I config-file 7 | .B ] [-l 8 | .I log-file 9 | .B ] 10 | .I directory 11 | .B ... 12 | .SH DESCRIPTION 13 | .B LoggedFS 14 | is a transparent fuse-filesystem which allows to log every operations that happens in the backend filesystem. Logs can be written to syslog, to a file, or to the standard output. LoggedFS comes with a XML configuration file in which you can choose exactly what you want to log and what you don't want to log. You can add filters on users, operations (open, read, write, chown, chmod, etc.), filenames , and return code. Filename's filters are regular expressions. 15 | .SH OPTIONS 16 | .IP -f 17 | Do not start as a daemon. Write logs to stdout if no log file is specified. 18 | .IP "-c config-file" 19 | Use the 20 | .I config-file 21 | to filter what you want to log. 22 | .IP "-l log-file" 23 | Use the 24 | .I log-file 25 | to write logs to. If no log file is specified then logs are only written to syslog or to stdout, depending on -f. 26 | .IP -p 27 | Allow every users to see the new loggedfs. 28 | .SH FILES 29 | .I /etc/fuse.conf 30 | .RS 31 | The system wide configuration file. 32 | .RE 33 | .SH AUTHOR 34 | Remi Flament 35 | .SH "SEE ALSO" 36 | .BR fusermount (1) 37 | -------------------------------------------------------------------------------- /loggedfs.spec: -------------------------------------------------------------------------------- 1 | Summary: Transparent fuse-filesystem which allows to log every operation that happens in the backend filesystem. 2 | Name: loggedfs 3 | Version: 0.9 4 | Release: 1.fc6 5 | Source: %{name}-%{version}.tar.bz2 6 | Packager: Remi Flament 7 | Vendor: Remi Flament 8 | License: Apache 2.0 9 | Group: Development/Tools 10 | Url: https://github.com/rflament/loggedfs/ 11 | Requires: fuse >= 2.6 fuse-libs >= 2.6 rlog >= 1.3 pcre >= 6.6 libxml2 >= 2.6 12 | 13 | 14 | %description 15 | LoggedFS is a transparent fuse-filesystem which allows you to log every operation that happens in the backend filesystem. Logs can be written to syslog, to a file, or to standard output. It comes with an XML configuration file in which you can choose exactly what you want to log. You can add filters on users, operations (open, read, write, chown, chmod, etc.), filenames, and return codes. Filename's filters are regular expressions. Since it is fuse-based, you don't need to change anything in your kernel or hard disk partition to use it. 16 | 17 | %prep 18 | %setup -q 19 | 20 | %build 21 | make 22 | 23 | %install 24 | make install 25 | 26 | %files 27 | %defattr(-,root,root) 28 | /usr/bin/loggedfs 29 | /etc/loggedfs.xml 30 | %doc /usr/share/man/man1/loggedfs.1* 31 | -------------------------------------------------------------------------------- /loggedfs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | TEST_DIR=/tmp/test-loggedfs 4 | mkdir $TEST_DIR 5 | 6 | #################################################################### 7 | ## Test 1: log actions in a file 8 | #################################################################### 9 | 10 | # launch loggedfs 11 | ./loggedfs -l ~/log.txt $TEST_DIR 12 | 13 | # create file 14 | echo "bar" >> $TEST_DIR/foo && ls $TEST_DIR 15 | sudo umount $TEST_DIR 16 | 17 | # make sure the actions have been logged in the log file 18 | COUNT=$(grep -c "write 4 bytes to $TEST_DIR/foo at offset 0" ~/log.txt) 19 | if [ "$COUNT" -ne "1" ]; then 20 | echo "write should have been logged in file" 21 | exit 1 22 | fi 23 | 24 | # make sure the actions have not been logged in syslog 25 | COUNT=$(grep -c "write 4 bytes to $TEST_DIR/foo at offset 0" /var/log/syslog) 26 | if [ "$COUNT" -ne "0" ]; then 27 | echo "nothing should have been logged in syslog" 28 | exit 1 29 | fi 30 | 31 | rm ~/log.txt 32 | 33 | #################################################################### 34 | ## Test 2: log actions to syslog 35 | #################################################################### 36 | 37 | # launch loggedfs 38 | ./loggedfs $TEST_DIR 39 | 40 | # create file 41 | echo "bar" >> $TEST_DIR/foo2 && ls $TEST_DIR 42 | sudo umount $TEST_DIR 43 | 44 | # make sure the actions have been logged in syslog 45 | COUNT=$(grep -c "write 4 bytes to $TEST_DIR/foo2 at offset 0" /var/log/syslog) 46 | if [ "$COUNT" -ne "1" ]; then 47 | echo "write should have been logged in syslog" 48 | exit 1 49 | fi -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/.gitignore: -------------------------------------------------------------------------------- 1 | build/* 2 | build-* 3 | *.pro.user 4 | .DS_Store 5 | release.info 6 | bin/* 7 | logs/* 8 | experiments/* 9 | CMakeLists.txt.user 10 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | compiler: 3 | - gcc 4 | os: linux 5 | dist: trusty 6 | before_install: 7 | - sudo apt-get -qq update 8 | - sudo apt-get install -y libgtest-dev valgrind 9 | - sudo wget https://github.com/google/googletest/archive/release-1.7.0.tar.gz 10 | - sudo tar xf release-1.7.0.tar.gz 11 | - cd googletest-release-1.7.0 12 | - sudo cmake -DBUILD_SHARED_LIBS=ON . 13 | - sudo make 14 | - sudo cp -a include/gtest /usr/include 15 | - sudo cp -a libgtest_main.so libgtest.so /usr/lib/ 16 | - which valgrind 17 | - cd "${TRAVIS_BUILD_DIR}" 18 | before_script: 19 | - cd test/ 20 | - cmake -Dtest=ON ../ 21 | - make 22 | - ls -l 23 | script: "./easyloggingpp-unit-tests -v && cd ../samples/STL && pwd && sh ./.travis_build.sh && valgrind ./bin/very-basic.cpp.bin" 24 | branches: 25 | only: 26 | - master 27 | - develop 28 | notifications: 29 | recipients: 30 | - mkhan3189@gmail.com 31 | email: 32 | on_success: never 33 | on_failure: change 34 | rvm: 35 | - 9.00 36 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/LICENCE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 muflihun.com 4 | 5 | https://github.com/muflihun/ 6 | https://muflihun.github.io 7 | https://muflihun.com 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy of 10 | this software and associated documentation files (the "Software"), to deal in 11 | the Software without restriction, including without limitation the rights to 12 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 13 | the Software, and to permit persons to whom the Software is furnished to do so, 14 | subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 21 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 22 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 23 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 24 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### This is a 2 | 3 | - [ ] Breaking change 4 | - [ ] New feature 5 | - [ ] Bugfix 6 | 7 | ### I have 8 | 9 | - [ ] Merged in the latest upstream changes 10 | - [ ] Updated [`CHANGELOG.md`](CHANGELOG.md) 11 | - [ ] Updated [`README.md`](README.md) 12 | - [ ] [Run the tests](README.md#install-optional) 13 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/cmake/FindEASYLOGGINGPP.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # CMake module for Easylogging++ logging library 3 | # 4 | # Defines ${EASYLOGGINGPP_INCLUDE_DIR} 5 | # 6 | # If ${EASYLOGGINGPP_USE_STATIC_LIBS} is ON then static libs are searched. 7 | # In these cases ${EASYLOGGINGPP_LIBRARY} is also defined 8 | # 9 | # (c) 2017 Muflihun Labs 10 | # 11 | # https://github.com/muflihun/easyloggingpp 12 | # https://muflihun.com 13 | # 14 | 15 | message ("-- Easylogging++: Searching...") 16 | set(EASYLOGGINGPP_PATHS ${EASYLOGGINGPP_ROOT} $ENV{EASYLOGGINGPP_ROOT}) 17 | 18 | find_path(EASYLOGGINGPP_INCLUDE_DIR 19 | easylogging++.h 20 | PATH_SUFFIXES include 21 | PATHS ${EASYLOGGINGPP_PATHS} 22 | ) 23 | 24 | if (EASYLOGGINGPP_USE_STATIC_LIBS) 25 | message ("-- Easylogging++: Static linking is preferred") 26 | find_library(EASYLOGGINGPP_LIBRARY 27 | NAMES libeasyloggingpp.a libeasyloggingpp.dylib libeasyloggingpp 28 | HINTS "${CMAKE_PREFIX_PATH}/lib" 29 | ) 30 | elseif (EASYLOGGINGPP_USE_SHARED_LIBS) 31 | message ("-- Easylogging++: Dynamic linking is preferred") 32 | find_library(EASYLOGGINGPP_LIBRARY 33 | NAMES libeasyloggingpp.dylib libeasyloggingpp libeasyloggingpp.a 34 | HINTS "${CMAKE_PREFIX_PATH}/lib" 35 | ) 36 | endif() 37 | 38 | find_package_handle_standard_args(EASYLOGGINGPP REQUIRED_VARS EASYLOGGINGPP_INCLUDE_DIR) 39 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.01: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.01 RELEASE NOTES 3 | --------------------------------- 4 | 5 | =========================== 6 | = NEW FEATURES = 7 | =========================== 8 | 9 | - Failed check should be embedded in square brackets (issue #86) 10 | - Default log file using macro `_ELPP_DEFAULT_LOG_FILE` (if available) 11 | 12 | ============================ 13 | = BUG FIXES = 14 | ============================ 15 | 16 | - Issue with creating shared library that uses easylogging++ (issue #85) 17 | 18 | ========================== 19 | = NOTES = 20 | ========================== 21 | 22 | - Default log location for *nix is in project location logs/ directory 23 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.02: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.02 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ============================ 6 | = BUG FIXES = 7 | ============================ 8 | 9 | - Minor warning fix with clang++ 10 | 11 | ========================== 12 | = NOTES = 13 | ========================== 14 | 15 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.03: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.03 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ============================ 6 | = BUG FIXES = 7 | ============================ 8 | 9 | - Issue with preloading library that uses easylogging++ (issue #87) 10 | 11 | ========================== 12 | = NOTES = 13 | ========================== 14 | 15 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.04: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.04 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = NOTES = 7 | ========================== 8 | 9 | - Minor refactoring 10 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 11 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.05: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.05 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = BUG FIXES = 7 | ========================== 8 | 9 | - Error while generating stack trace on crash when stacktrace is active (issue #88) 10 | 11 | ========================== 12 | = NEW FEATURES = 13 | ========================== 14 | 15 | - Ability to choose detailed crash reason (issue #90) 16 | 17 | ========================== 18 | = NOTES = 19 | ========================== 20 | 21 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 22 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 23 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.06: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.06 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = BUG FIXES = 7 | ========================== 8 | 9 | - std::unordered_set error (issue #91) 10 | 11 | ========================== 12 | = NEW FEATURES = 13 | ========================== 14 | 15 | - Add support for missing boost::container templates (issue #89) 16 | 17 | ========================== 18 | = NOTES = 19 | ========================== 20 | 21 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 22 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 23 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.07: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.07 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = BUG FIXES = 7 | ========================== 8 | 9 | ========================== 10 | = NEW FEATURES = 11 | ========================== 12 | 13 | - Added Cygwin Compatibility (issue #93) 14 | 15 | ========================== 16 | = NOTES = 17 | ========================== 18 | 19 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 20 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 21 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.08: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.08 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = BUG FIXES = 7 | ========================== 8 | 9 | - Issue with fatal log being disabled (issue #94) 10 | 11 | ========================== 12 | = NOTES = 13 | ========================== 14 | 15 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 16 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 17 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.09: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.09 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = NEW FEATURES = 7 | ========================== 8 | 9 | - Support for wxWidgets containers (issue #60) 10 | 11 | ========================== 12 | = BUG FIXES = 13 | ========================== 14 | 15 | - NewLineForContainer does not work for Qt containers that dont use writeIterator (isue #96) 16 | 17 | ========================== 18 | = REFACTORING = 19 | ========================== 20 | 21 | - Seperated writer from dispatcher + log class 22 | 23 | ========================== 24 | = NOTES = 25 | ========================== 26 | 27 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 28 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 29 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.10: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.10 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = BUG FIXES = 7 | ========================== 8 | 9 | - Some issues with timeval not declared being struct caused issues with some libs 10 | 11 | ========================== 12 | = NOTES = 13 | ========================== 14 | 15 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 16 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 17 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.11: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.11 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = BUG FIXES = 7 | ========================== 8 | 9 | - Fix for TDM GCC date/time issue 10 | 11 | ========================== 12 | = NEW FEATURES = 13 | ========================== 14 | 15 | - Logger not registered error now uses 'default' logger 16 | - Android support added 17 | - Support for TDM GCC compilers 18 | - Qt logging does not need QT_CORE_LIB macro anymore for necessities support 19 | 20 | ========================== 21 | = NOTES = 22 | ========================== 23 | 24 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 25 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.12: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.12 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = NEW FEATURES = 7 | ========================== 8 | 9 | - Ability to log third-party classes (issue #97) 10 | - Class to extend to make class loggable (issue #98) 11 | 12 | ========================== 13 | = IMPROVEMENTS = 14 | ========================== 15 | 16 | - CHECK_NOTNULL() to expand to fully qualified function name 17 | - CHECK_EQ and CHECK_NE expands to use CHECK 18 | - Inlined some methods for performance improvements 19 | 20 | ========================== 21 | = NOTES = 22 | ========================== 23 | 24 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 25 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.13: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.13 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ===================== 6 | = NEW FEATURES = 7 | ===================== 8 | 9 | - 'logs' directory is made automatically (issue #99) 10 | 11 | ========================== 12 | = INTERNALS = 13 | ========================== 14 | 15 | - Easylogging++ internal errors are enabled on defining macro `_ELPP_ENABLE_ERRORS` 16 | 17 | ========================== 18 | = NOTES = 19 | ========================== 20 | 21 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 22 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 23 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.14: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.14 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = BUG FIXES = 7 | ========================== 8 | 9 | - Fixes issues with valgrind when no default file is used (issue #100) 10 | 11 | ========================== 12 | = NOTES = 13 | ========================== 14 | 15 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 16 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 17 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.15: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.15 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ============================= 6 | = IMPROVEMENTS = 7 | ============================= 8 | 9 | - Warnings fixes (issue #101) 10 | 11 | ========================== 12 | = NOTES = 13 | ========================== 14 | 15 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 16 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 17 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.16: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.16 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ============================= 6 | = IMPROVEMENTS = 7 | ============================= 8 | 9 | - Suppressed unused warning for default filename constant (only clang) 10 | - Some serious steps taken for future release to have less warnings - made all samples -pedantic-errors + -Wfatal-errors (note: samples are part of build-tests) 11 | 12 | ========================== 13 | = NOTES = 14 | ========================== 15 | 16 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 17 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 18 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.17: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.17 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ============================= 6 | = NEW FEATURES = 7 | ============================= 8 | 9 | - Add a format specifier to log filename and line number (issue #103) 10 | 11 | ============================= 12 | = IMPROVEMENTS = 13 | ============================= 14 | 15 | - Assertion failure and does not process when configuratoin file does not exist 16 | 17 | ========================== 18 | = NOTES = 19 | ========================== 20 | 21 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 22 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 23 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.18: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.18 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = FIXES = 7 | ========================== 8 | 9 | - Completely dithced away QA logging even macros unusable 10 | - Fixed some of verbose logging macro expansions 11 | 12 | ========================== 13 | = NEW FEATURES = 14 | ========================== 15 | 16 | - Only allow aplha-numeric (+ some symbols) for logger names (issue #105) 17 | - Case insensitive app args (issue #106) 18 | - Helper to reconfigure specific level for all loggers (issue #107) 19 | - DCHECK macros for debug mode checks (issue #108) 20 | - Added `bool Loggers::hasLogger(const std::string&)` 21 | 22 | ========================== 23 | = NOTES = 24 | ========================== 25 | 26 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 27 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 28 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.19: -------------------------------------------------------------------------------- 1 | 2 | Easylogging++ v9.19 RELEASE NOTES 3 | --------------------------------- 4 | 5 | ========================== 6 | = FIXES = 7 | ========================== 8 | 9 | - Some internal code refactor 10 | - Issue with clang++ on mac fixes (issue #111) 11 | 12 | ========================== 13 | = NOTES = 14 | ========================== 15 | 16 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 17 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 18 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.20: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.20 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = NEW FEATURES = 6 | ========================== 7 | 8 | - Introduced `el::Helpers::convertTemplateToStdString` for loggable classes (and other classes) to return `std::string` from easylogging++ friendly templates (issue #114) 9 | - Introduced `el::Helpers::commandLineArgs` for reading command line arguments provided 10 | - Quoted values in configurations can have double quotes by escaping them using `\` (issue #113) 11 | - Helper to configure easylogging++ loggers (global conf) from command line argument (issue #115) 12 | 13 | ========================== 14 | = NOTES = 15 | ========================== 16 | 17 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 18 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 19 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.21: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.21 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = REFACTORING = 6 | ========================== 7 | 8 | - Removed some unnecessary code 9 | - Removed licence full detail, instead added link to it 10 | - Removed unnecessary methods from VersionInfo static class, just left `version()` and `releaseDate()` 11 | 12 | ========================== 13 | = BUG FIXES = 14 | ========================== 15 | 16 | - Configuring same logger twice loses some information (issue #116) 17 | 18 | ========================== 19 | = NEW FEATRUES = 20 | ========================== 21 | 22 | - Added base configurations pointer to `parseFromText` same as `parseFromFile` 23 | 24 | ========================== 25 | = NOTES = 26 | ========================== 27 | 28 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 29 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.22: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.22 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = REFACTORING = 6 | ========================== 7 | 8 | - Declared licence as the MIT licence in top comments to avoid confusions for open-source projects 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.23: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.23 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = DEPRECATED = 6 | ========================== 7 | 8 | - `_ELPP_PREVENT_FATAL_ABORT` is replaced with `el::LoggingFlag::DisableApplicationAbortOnFatalLog` (issue #119) 9 | 10 | ========================== 11 | = NEW FEATURES = 12 | ========================== 13 | 14 | - Custom installable format specifiers (issue #118) 15 | - Ability to uninstall pre-rollout handler 16 | - New check macros 17 | - CHECK_LT (less-than) 18 | - CHECK_GT (greater-than) 19 | - CHECK_LE (less-than or equal) 20 | - CHECK_GE (greater-than or equal) 21 | 22 | ========================== 23 | = NOTES = 24 | ========================== 25 | 26 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 27 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 28 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.24: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.24 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = FIXES = 6 | ========================== 7 | 8 | - `strerror` CRT warning fix for VC++ when using PLOG() or any equivalent (issue# 123) 9 | - Fixed `CVERBOSE_EVERY_N` resolution from `VLOG_IF` to custom logger verbose log 10 | 11 | ========================== 12 | = NEW FEATURES = 13 | ========================== 14 | 15 | - New helper `reconfigureLogger(const std::string&, const ConfigurationType&, const std::string&)` 16 | - Support for syslog (issue #120) 17 | 18 | ========================== 19 | = NOTES = 20 | ========================== 21 | 22 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 23 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 24 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.26: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.26 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = NEW FEATURES = 6 | ========================== 7 | 8 | - Debug version of PLOG (issue #133) 9 | - Debug version of SYSLOG 10 | - Introduced `PostLogDispatchHandler` to write your own handler for any action after log is dispatched 11 | - Introduced `LoggingFlag::ColoredTerminalOutput` to support colorful output if supported by terminal 12 | 13 | =========================== 14 | = API CHANGES = 15 | =========================== 16 | 17 | - `el::base::PreRollOutHandler` has moved to `el::PreRollOutHandler` 18 | - `el::base::LogMessage` has moved to `el::LogMessage` 19 | 20 | ========================== 21 | = NOTES = 22 | ========================== 23 | 24 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 25 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.27: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.27 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ======================= 5 | = FIXES = 6 | ======================= 7 | 8 | - Emergency fix for multiple-definition bug caused by v9.26 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.28: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.28 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = IMPROVEMENTS = 6 | ========================== 7 | 8 | - One time resolution for currentUser, currentHost and terminalSupportsColor for performance improvement 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.29: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.29 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = IMPROVEMENTS = 6 | ========================== 7 | 8 | - Better way to deal with PLOG and perror using PErrorWriter 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.30: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.30 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================= 5 | = FIXES = 6 | ========================= 7 | 8 | - Fixes to clang++ 3.4+ 9 | 10 | ========================= 11 | = REFACTORING = 12 | ========================= 13 | 14 | - Removed unused variable m_postStream 15 | 16 | ========================== 17 | = NOTES = 18 | ========================== 19 | 20 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 21 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 22 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.31: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.31 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================= 5 | = FIXES = 6 | ========================= 7 | 8 | - Fixes for Intel C++ after updated to g++ 4.8 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.32: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.32 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================= 5 | = NEW FEATURES = 6 | ========================= 7 | 8 | - Unicode support (enabled when `_ELPP_UNICODE` is defined) 9 | 10 | ========================= 11 | = API CHANGES = 12 | ========================= 13 | 14 | - It is recommended to use `el::base::types::ostream_t` in `el::Loggable` to make it happier with unicode 15 | 16 | ========================== 17 | = NOTES = 18 | ========================== 19 | 20 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 21 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 22 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.33: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.33 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================= 5 | = REFACTORING = 6 | ========================= 7 | 8 | - Includes only when UNICODE is enabled 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.34: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.34 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================= 5 | = FIXES = 6 | ========================= 7 | 8 | - Fixes to Trackable after Unicode (this also fixes VC++ 2013 compilation) 9 | - Fixes MAKE_CONTAINER_ELPP_FRIENDLY to be generic for UNICODE 10 | 11 | ========================== 12 | = NOTES = 13 | ========================== 14 | 15 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 16 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 17 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.35: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.35 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================= 5 | = FIXES = 6 | ========================= 7 | 8 | - UNICODE fix for wstring operator 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.36: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.36 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ============================ 5 | = REFACTOR = 6 | ============================ 7 | 8 | - Happy Google C++ style guide (cpplint.py) - Lambda semi-colon and line length is left as-is 9 | - API changes to use pointers instead of reference e.g, `populateAllLoggerIds(std::vector&)` to `populateAllLoggerIds(std::vector*)` 10 | 11 | ========================== 12 | = FIXES = 13 | ========================== 14 | 15 | - Fixed `TIMED_BLOCK` to reflect `_ELPP_PERFORMANCE_MICROSECONDS` 16 | 17 | ========================== 18 | = NOTES = 19 | ========================== 20 | 21 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 22 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 23 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.37: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.37 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = FIXES = 6 | ========================== 7 | 8 | - Fixed issue with EnumType and unicode (issue 137) 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.38: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.38 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ================================= 5 | = NEW FEATURES = 6 | ================================= 7 | 8 | - Define `_LOGGER` before include to use specified logger, e.g, `#define _LOGGER "my_logger"` 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.39: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.39 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ============================== 5 | = BUG FIXES = 6 | ============================== 7 | 8 | - Issue with disabling logs when using manipulators e.g, `std::endl` 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.40: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.40 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ============================== 5 | = NEW FEATURES = 6 | ============================== 7 | 8 | - Default configuration getter 9 | - Default typed-configuration getter 10 | - Log streams reference (constant) getter for public-use 11 | 12 | ============================== 13 | = BUG FIXES = 14 | ============================== 15 | 16 | - Issue with TIMED_FUNC (issue #139) 17 | 18 | ========================== 19 | = NOTES = 20 | ========================== 21 | 22 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 23 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 24 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.41: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.41 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ============================== 5 | = BUG FIXES = 6 | ============================== 7 | 8 | - Issue with g++ raised from version 9.4 release 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.42: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.42 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ============================== 5 | = BUG FIXES = 6 | ============================== 7 | 8 | - Registry<>::get for VC++ does not have exception catch anymore that caused problems with CDB 9 | - Issue with Visual C++ and `_ELPP_NO_DEFAULT_LOG_FILE` macro 10 | 11 | ========================== 12 | = NOTES = 13 | ========================== 14 | 15 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 16 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 17 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.43: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.43 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ============================== 5 | = NEW FEATURES = 6 | ============================== 7 | 8 | - Introduced `LOG_AFTER_N` and `LOG_N_TIMES` that works pretty much same as `LOG_EVERY_N` 9 | 10 | ============================== 11 | = BUG FIXES = 12 | ============================== 13 | 14 | - Issue with Visual C++ and `_ELPP_NO_DEFAULT_LOG_FILE` in reconfiguring logger and flushing 15 | 16 | ========================== 17 | = NOTES = 18 | ========================== 19 | 20 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 21 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 22 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.44: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.44 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ============================== 5 | = BUG FIXES = 6 | ============================== 7 | 8 | - DCCHECK_NULLPTR bug fix (issue #141) 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.45: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.45 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ============================== 5 | = BUG FIXES = 6 | ============================== 7 | 8 | - PCHECK macro bug fixes 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.46: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.46 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ============================== 5 | = BUG FIXES = 6 | ============================== 7 | 8 | - CHECK_EQ and CHECK_STRCASEEQ macro fixes (issue #142) 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.47: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.47 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ============================== 5 | = BUG FIXES = 6 | ============================== 7 | 8 | - July month abbreviation fix 9 | - Default date/time fix for 'PM' times 10 | 11 | ======================== 12 | = CHANGES = 13 | ======================== 14 | 15 | - `Logger not registered` message now uses debug level instead of error 16 | 17 | ========================== 18 | = NOTES = 19 | ========================== 20 | 21 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 22 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 23 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.48: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.48 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = NOTES = 6 | ========================== 7 | 8 | - Licence and copyright info update to start from 2012 to 2014 9 | 10 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 11 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 12 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.49: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.49 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = NEW FEATURES = 6 | ========================== 7 | 8 | - Unregisterable loggers using Loggers::unregisterLogger(id) 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.50: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.50 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ======================= 5 | = BUG FIXES = 6 | ======================= 7 | 8 | - Issue with datetime format (%y and %Y having same behaviour) (issue #144) 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.51: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.51 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================== 5 | = NEW FEATURES = 6 | ========================== 7 | 8 | - Add timestamp to file names in the configuration file (issue #145) 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.52: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.52 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ======================= 5 | = BUG FIXES = 6 | ======================= 7 | 8 | - Bug fix from ver. 9.51 with unicode support - introduced `_ELPP_FILENAME_TIMESTAMP` 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.53: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.53 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================= 5 | = NEW FEATURES = 6 | ========================= 7 | 8 | - Removed need of `_ELPP_FILENAME_TIMESTAMP` for filename timestamp 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.54: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.54 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================= 5 | = NEW FEATURES = 6 | ========================= 7 | 8 | - Ability to capture performance tracking data when performance tracking is finished (issue #148) 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.55: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.55 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================= 5 | = NEW FEATURES = 6 | ========================= 7 | 8 | - FreeBSD build fix (Thanks to Yawning @ Github) 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.56: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.56 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================= 5 | = BUG FIXES = 6 | ========================= 7 | 8 | - Issue with writing unicode characters to file (issue #151) 9 | - Issue with syslog along with unicode support (issue #152) 10 | 11 | ========================= 12 | = NEW FEATURES = 13 | ========================= 14 | 15 | - Ability to export symbols for DLL (issue #150) 16 | - Ability to share logging repository (issue #153) 17 | - Ability to force using standard C++ thread using `_ELPP_FORCE_USE_STD_THREAD` 18 | 19 | ========================== 20 | = NOTES = 21 | ========================== 22 | 23 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 24 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 25 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.57: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.57 RELEASE NOTES 2 | --------------------------------- 3 | 4 | ========================= 5 | = BUG FIXES = 6 | ========================= 7 | 8 | - Issue with multithreading and disabled logging levels (issue #155) 9 | 10 | ========================== 11 | = NOTES = 12 | ========================== 13 | 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.58: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.58 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ========================= 8 | = REFACTORING = 9 | ========================= 10 | 11 | - Use `std::string` instead of `const char*` where it does not affect performance. 12 | 13 | ========================= 14 | = BUG FIXES = 15 | ========================= 16 | 17 | - Thread ID resolution function returns `std::string` instead of `const char*` to prevent invalid pointers return 18 | 19 | ========================== 20 | = NOTES = 21 | ========================== 22 | 23 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 24 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 25 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.59: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.59 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Major 5 | API changes: No 6 | 7 | ========================= 8 | = REFACTORING = 9 | ========================= 10 | 11 | - Removing trailing spaces and reorder Trackable members class to avoid warning on gcc (issue 158) 12 | 13 | 14 | ========================== 15 | = NEW FEATURES = 16 | ========================== 17 | 18 | - Ability to use multiple loggers to log single message (needs `_ELPP_MULTI_LOGGER_SUPPORT`) (issue #157) 19 | 20 | 21 | ========================== 22 | = BUG FIXES = 23 | ========================== 24 | 25 | - Segmentation fault when running shared lib apps (issue #160) 26 | 27 | 28 | ========================== 29 | = NOTES = 30 | ========================== 31 | 32 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 33 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 34 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.60: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.60 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Major 5 | API changes: No 6 | 7 | ========================== 8 | = NEW FEATURES = 9 | ========================== 10 | 11 | - Support logging from Logger class for compilers with support for variadic templates (issue #162) 12 | 13 | ========================== 14 | = REFACTORING = 15 | ========================== 16 | 17 | - File size cut down 18 | - Changed `inline static` to `static inline` for better readability 19 | 20 | ========================== 21 | = BUG FIXES = 22 | ========================== 23 | 24 | - Double free corrpution when sharing storage 25 | - Unused variable warning on Windows regarding "nextTok_" (issue #161) 26 | 27 | ========================== 28 | = NOTES = 29 | ========================== 30 | 31 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 32 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 33 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.61: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.61 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ========================== 8 | = FIXES = 9 | ========================== 10 | 11 | - Log functions now uses `%v` instead of `%` 12 | 13 | ========================== 14 | = NEW FEATURES = 15 | ========================== 16 | 17 | - Type safe internal checks 18 | 19 | ========================== 20 | = NOTES = 21 | ========================== 22 | 23 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 24 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 25 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.62: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.62 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ========================== 8 | = BUG FIXES = 9 | ========================== 10 | 11 | - Fix to `Logger::verbose` checking whether verbosity is on or not 12 | 13 | ========================== 14 | = NOTES = 15 | ========================== 16 | 17 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 18 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 19 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.63: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.63 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ========================== 8 | = BUG FIXES = 9 | ========================== 10 | 11 | - Issue with multi-threading fixed for verbose logging not on (multi-threaded applications only) 12 | 13 | ========================== 14 | = NOTES = 15 | ========================== 16 | 17 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 18 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 19 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.65: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.65 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ========================== 8 | = NEW FEATURES = 9 | ========================== 10 | 11 | - Ability to create loggers on the fly `LoggingFlag::CreateLoggerAutomatically` 12 | 13 | ========================== 14 | = NOTES = 15 | ========================== 16 | 17 | - See https://github.com/easylogging/easyloggingpp/blob/v9.65/README.md for manual for this release 18 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 19 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 20 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.66: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.66 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ======================== 8 | = BUG FIXES = 9 | ======================== 10 | 11 | - Verbose fix when using `Logger::verbose` 12 | 13 | ========================== 14 | = IMPROVEMENTS = 15 | ========================== 16 | 17 | - Changed `func` and `file` to `FUNCTION` and `FILE` respectively 18 | 19 | ========================== 20 | = NOTES = 21 | ========================== 22 | 23 | - See https://github.com/easylogging/easyloggingpp/blob/v9.66/README.md for manual for this release 24 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 25 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.67: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.67 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | =========================== 8 | = IMPROVEMENTS = 9 | =========================== 10 | 11 | - Fix to file stream handling if unable to create file stream 12 | - Fixed android (NDK) build warnings 13 | 14 | ========================== 15 | = NOTES = 16 | ========================== 17 | 18 | - See https://github.com/easylogging/easyloggingpp/blob/v9.67/README.md for manual for this release 19 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 20 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 21 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.68: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.68 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | =========================== 8 | = IMPROVEMENTS = 9 | =========================== 10 | 11 | - Ability to change internal debugging macro 12 | 13 | ========================== 14 | = NOTES = 15 | ========================== 16 | 17 | - See https://github.com/easylogging/easyloggingpp/blob/v9.68/README.md for manual for this release 18 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 19 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 20 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.69: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.69 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: Yes 6 | 7 | =========================== 8 | = IMPROVEMENTS = 9 | =========================== 10 | 11 | - Multiple log dispatch call backs by extending `el::LogDispatchCallback` 12 | - Ability to log from `el::LogDispatchCallback` with no problems with recursive calls 13 | 14 | ========================== 15 | = NOTES = 16 | ========================== 17 | 18 | - See https://github.com/easylogging/easyloggingpp/blob/v9.69/README.md for manual for this release 19 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 20 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 21 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.70: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.70 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: Yes 6 | 7 | =========================== 8 | = IMPROVEMENTS = 9 | =========================== 10 | 11 | - Improvements to `PerformanceTrackingCallback` - multiple callbacks 12 | - Removed ability to log from log dispatch and performance tracking callbacks since it causes issue in multi-threaded applications 13 | 14 | ============================ 15 | = REMOVED = 16 | ============================ 17 | 18 | - Removed `el::LoggingFlag::EnableLogDispatchCallback` as it is always enabled now since its used internally 19 | - Removed `el::LoggingFlag::DisablePerformanceTrackingDispatch` as you can do it other way (see samples) 20 | - Removed `el::LoggingFlag::PerformanceTrackingCallback` as it is always enabled now since its used internally 21 | 22 | ========================== 23 | = NOTES = 24 | ========================== 25 | 26 | - See https://github.com/easylogging/easyloggingpp/blob/v9.70/README.md for manual for this release 27 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 28 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 29 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.71: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.71 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ======================== 8 | = BUG FIXES = 9 | ======================== 10 | 11 | - Fix to `PERFORMANCE_CHECKPOINT` 12 | 13 | ========================== 14 | = NOTES = 15 | ========================== 16 | 17 | - See https://github.com/easylogging/easyloggingpp/blob/v9.71/README.md for manual for this release 18 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 19 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 20 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.72: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.72 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ======================== 8 | = BUG FIXES = 9 | ======================== 10 | 11 | - Using easylogging++ fails in conjunction with WIN32_LEAN_AND_MEAN (issue #171) 12 | 13 | ========================== 14 | = NOTES = 15 | ========================== 16 | 17 | - See https://github.com/easylogging/easyloggingpp/blob/v9.72/README.md for manual for this release 18 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 19 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 20 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.73: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.73 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | =========================== 8 | = NEW FEATURES = 9 | =========================== 10 | 11 | - Ability to add spaces automatically (issue #179) 12 | 13 | ========================== 14 | = NOTES = 15 | ========================== 16 | 17 | - See https://github.com/easylogging/easyloggingpp/blob/v9.73/README.md for manual for this release 18 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 19 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 20 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.74: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.74 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | =========================== 8 | = NEW FEATURES = 9 | =========================== 10 | 11 | - `fbase` format specifier 12 | - VModule clear module function 13 | - `levshort` format specifier 14 | 15 | ========================== 16 | = BUG FIXES = 17 | ========================== 18 | 19 | - Fixes issue with `AutoSpacing` with timing facilities 20 | 21 | ========================== 22 | = NOTES = 23 | ========================== 24 | 25 | - See https://github.com/easylogging/easyloggingpp/blob/v9.74/README.md for manual for this release 26 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 27 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 28 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.75: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.75 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ========================== 8 | = BUG FIXES = 9 | ========================== 10 | 11 | - Makes Mutex non-copyable (issue #191) 12 | - Fixes issue with `DefaultPerformanceTrackingCallback` (issue #190) 13 | - Fix build for VS2013 under high warnings [warning level 4] (issue #194) 14 | - Fixes a lot of reference to temporary warnings 15 | 16 | ========================== 17 | = NOTES = 18 | ========================== 19 | 20 | - See https://github.com/easylogging/easyloggingpp/blob/v9.75/README.md for manual for this release 21 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 22 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 23 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.76: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.76 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Major 5 | API changes: No 6 | 7 | ========================== 8 | = NEW FEATURES = 9 | ========================== 10 | 11 | - Experimental asynchronous logging using `_ELPP_EXPERIMENTAL_ASYNC_LOGGING` (issue #202) 12 | - `CHECK_BOUNDS` macro to check boundaries (issue #204) 13 | 14 | ========================== 15 | = API CHANGES = 16 | ========================== 17 | 18 | - `Logger::flush(Level, base::type::fstream_t)` and `Logger::isFlushNeeded(Level)` made public 19 | 20 | ========================== 21 | = NOTES = 22 | ========================== 23 | 24 | - See https://github.com/easylogging/easyloggingpp/blob/v9.76/README.md for manual for this release 25 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 26 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 27 | - Removed references to `easylogging.org` as site will no longer service. 28 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.77: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.77 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Major 5 | API changes: No 6 | 7 | ========================== 8 | = BUG FIXES = 9 | ========================== 10 | 11 | - Using _ELPP_DISABLE_ASSERT breaks config file parsing (issue #218) 12 | 13 | ========================== 14 | = NEW FEATURES = 15 | ========================== 16 | 17 | - Support for unique unit of measure in performance tracking (issue #208) 18 | - Changing default format from a more localized %d/%M/%Y to ISO 8601 standard (issue #200) 19 | 20 | ========================== 21 | = BUILD FIX = 22 | ========================== 23 | 24 | - Warning fix for `sleep` 25 | 26 | ========================== 27 | = NOTES = 28 | ========================== 29 | 30 | - Changed donation policy 31 | - See https://github.com/easylogging/easyloggingpp/blob/v9.77/README.md for manual for this release 32 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 33 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 34 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.78: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.78 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ========================== 8 | = NEW FEATURES = 9 | ========================== 10 | 11 | - Ability to add, clear verbose modules on the fly (issue #219) 12 | - Ability to set verbose logging level on the fly (issue #238) 13 | - Solaris support added 14 | 15 | ========================== 16 | = BUILD FIX = 17 | ========================== 18 | 19 | - Warning for `nextTok_` in VS2013 (issue #237) 20 | 21 | ========================== 22 | = BUG FIX = 23 | ========================== 24 | 25 | - `LoggingFlag::AutoSpacing` does not work with some types (issue #220) 26 | 27 | ========================== 28 | = NOTES = 29 | ========================== 30 | 31 | - Experimental async logging only for specific compilers 32 | - Removed `easyloggingpp` as namespace 33 | - Changed support email address 34 | - See https://github.com/easylogging/easyloggingpp/blob/v9.78/README.md for manual for this release 35 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 36 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 37 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.80: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.80 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ========================== 8 | = NOTES = 9 | ========================== 10 | 11 | - Licence update 12 | - Email update 13 | - See https://github.com/easylogging/easyloggingpp/blob/v9.80/README.md for manual for this release 14 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.82: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.82 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ========================== 8 | = BUILD FIX = 9 | ========================== 10 | 11 | - Crash fix with visual C++ (issue #391) 12 | 13 | ========================== 14 | = NOTES = 15 | ========================== 16 | 17 | - See https://github.com/easylogging/easyloggingpp/blob/v9.82/README.md for manual for this release 18 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 19 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 20 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.83: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.83 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ========================== 8 | = NOTES = 9 | ========================== 10 | 11 | - Fixes version number. Please see previous release notes for actual releases 12 | - See https://github.com/easylogging/easyloggingpp/blob/v9.83/README.md for manual for this release 13 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 14 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 15 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.84: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.84 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | 7 | ========================== 8 | = NOTES = 9 | ========================== 10 | 11 | - Fixes build for xcode 12 | - See https://github.com/easylogging/easyloggingpp/blob/v9.84/README.md for manual for this release 13 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 14 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 15 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.85: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.85 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Major 5 | API changes: No 6 | Breaking Change: Yes 7 | - Performance tracker changed from object to pointer 8 | 9 | ========================== 10 | = FIXES = 11 | ========================== 12 | 13 | - C++17 Build fix 14 | - Initialize uninitialized variables (cppcheck) 15 | - Do not create any file when using `ELPP_NO_LOG_TO_FILE` 16 | - Fix bad memory access before opening any files 17 | - Documentation updated and fixed typos 18 | 19 | ========================== 20 | = NEW FEATURES = 21 | ========================== 22 | 23 | - Added conditional performance tracking via TIMED_FUNC_IF and TIMED_SCOPE_IF (#415) 24 | 25 | ========================== 26 | = NOTES = 27 | ========================== 28 | 29 | - Licence update 30 | - See https://github.com/easylogging/easyloggingpp/blob/v9.85/README.md for manual for this release 31 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 32 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 33 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.86: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.86 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Major 5 | API changes: No 6 | Breaking Change: Yes 7 | 8 | ========================== 9 | = NEW FEATURES = 10 | ========================== 11 | 12 | - Stack trace and crash report now requires `ELPP_FEATURE_CRASH_LOG` macro (#409) 13 | - Performance tracking now requires `ELPP_PERFORMANCE_TRACKING` macro defined (#409) 14 | - do(something) || LOG(DEBUG) idiom (#426) 15 | 16 | ========================== 17 | = FIXES = 18 | ========================== 19 | 20 | - Do not create default file when using `ELPP_NO_LOG_TO_FILE` (completely fixed) 21 | 22 | ========================== 23 | = NOTES = 24 | ========================== 25 | 26 | - Licence now included in releases 27 | - See https://github.com/easylogging/easyloggingpp/blob/v9.86/README.md for manual for this release 28 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 29 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.87: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.87 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | Breaking Change: No 7 | 8 | ========================== 9 | = NEW FEATURES = 10 | ========================== 11 | 12 | - do(something) || LOG(LEVEL) idiom for `LOG_EVERY_N`, `LOG_AFTER_N` and family 13 | 14 | ========================== 15 | = NOTES = 16 | ========================== 17 | 18 | - See https://github.com/easylogging/easyloggingpp/blob/v9.87/README.md for manual for this release 19 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 20 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 21 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.88: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.88 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | Breaking Change: No 7 | 8 | ========================== 9 | = INTERNAL = 10 | ========================== 11 | 12 | - Some type refactors for better results 13 | - Exposing some functions for external use 14 | 15 | ========================== 16 | = NOTES = 17 | ========================== 18 | 19 | - See https://github.com/easylogging/easyloggingpp/blob/v9.88/README.md for manual for this release 20 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 21 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 22 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.89: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.89 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: Yes 6 | Breaking Change: No 7 | 8 | ========================== 9 | = NEW FEATURES = 10 | ========================== 11 | 12 | - New `LoggerRegistrationCallback` API to view / update newly registered loggers 13 | 14 | ========================== 15 | = NOTES = 16 | ========================== 17 | 18 | - See https://github.com/easylogging/easyloggingpp/blob/v9.89/README.md for manual for this release 19 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 20 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 21 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.91: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.91 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | Breaking Change: No 7 | 8 | ========================== 9 | = NEW FEATURES = 10 | ========================== 11 | 12 | - Deprecated MILLISECONDS_WIDTH and introduced SUBSECOND_PRECISION 13 | 14 | ========================== 15 | = NOTES = 16 | ========================== 17 | 18 | - Eased some internal locks around callbacks 19 | - See https://github.com/easylogging/easyloggingpp/blob/v9.91/README.md for manual for this release 20 | - See https://github.com/easylogging/easyloggingpp/tree/master/doc for other release notes 21 | - Closed issues: https://github.com/easylogging/easyloggingpp/issues?page=1&state=closed 22 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.92: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.92 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | Breaking Change: No 7 | 8 | ========================== 9 | = NOTES = 10 | ========================== 11 | 12 | - Updated github repo 13 | - See https://github.com/muflihun/easyloggingpp/blob/v9.92/README.md for manual for this release 14 | - See https://github.com/muflihun/easyloggingpp/tree/master/doc for other release notes 15 | - Closed issues: https://github.com/muflihun/easyloggingpp/issues?page=1&state=closed 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.93: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.93 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | Breaking Change: No 7 | 8 | ========================== 9 | = FIXES = 10 | ========================== 11 | 12 | - Multithread storage lock fix 13 | - Dead lock fixes (#417) Thanks to @aparajita for tip 14 | 15 | ========================== 16 | = FEATURES = 17 | ========================== 18 | 19 | - Set thread names using new helper `Helpers::setThreadName` and print using new format specifier `%thread_name` 20 | - A lot of sample clean up and fixed 21 | 22 | ========================== 23 | = NOTES = 24 | ========================== 25 | 26 | - See https://github.com/muflihun/easyloggingpp/blob/9.93/README.md for manual for this release 27 | - See https://github.com/muflihun/easyloggingpp/tree/master/doc for other release notes 28 | - Closed issues: https://github.com/muflihun/easyloggingpp/issues?page=1&state=closed 29 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/doc/RELEASE-NOTES-v9.94: -------------------------------------------------------------------------------- 1 | Easylogging++ v9.94 RELEASE NOTES 2 | --------------------------------- 3 | 4 | Release type: Minor 5 | API changes: No 6 | Breaking Change: No 7 | 8 | ========================== 9 | = FIXES = 10 | ========================== 11 | 12 | - Fixed performance tracking time unit and calculations 13 | 14 | ========================== 15 | = FEATURES = 16 | ========================== 17 | 18 | - Restored `ELPP_DEFAULT_LOGGER` and `ELPP_DEFAULT_PERFORMANCE_LOGGER` 19 | - Helpers::getThreadName for reading current thread's name 20 | - Custom format specifier now has to return `std::string` instead 21 | - Merged `thread_name` with `thread` if thread name is available it's used otherwise ID is displayed 22 | 23 | ========================== 24 | = NOTES = 25 | ========================== 26 | 27 | - See https://github.com/muflihun/easyloggingpp/blob/9.93/README.md for manual for this release 28 | - See https://github.com/muflihun/easyloggingpp/tree/master/doc for other release notes 29 | - Closed issues: https://github.com/muflihun/easyloggingpp/issues?page=1&state=closed 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/.gitignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/API/.gitignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | logs/* 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/API/build_all.sh: -------------------------------------------------------------------------------- 1 | 2 | # Builds all files into bin/ 3 | 4 | [ -d "bin" ] || mkdir "bin" 5 | rm -rf bin/* 6 | 7 | find . -maxdepth 1 -type f -name '*.cpp' -exec sh compile.sh {} $1 \; 8 | echo "Completed!" 9 | 10 | files=$(ls -l bin/) 11 | if [ "$files" = "total 0" ];then 12 | exit 1 13 | else 14 | exit 0 15 | fi 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/API/compile.sh: -------------------------------------------------------------------------------- 1 | ## Helper script for build_all.sh 2 | 3 | FILE=$1 4 | 5 | macro="$macro -DELPP_THREAD_SAFE" 6 | macro="$macro -DELPP_STL_LOGGING" 7 | macro="$macro -DELPP_LOG_UNORDERED_SET" 8 | macro="$macro -DELPP_LOG_UNORDERED_MAP" 9 | macro="$macro -DELPP_FEATURE_CRASH_LOG" 10 | macro="$macro -DELPP_FEATURE_ALL" 11 | 12 | if [ "$2" = "" ];then 13 | COMPILER=g++ 14 | else 15 | COMPILER=$2 16 | fi 17 | 18 | CXX_STD='-std=c++0x -pthread' 19 | 20 | if [ "$FILE" = "" ]; then 21 | echo "Please provide filename to compile" 22 | exit 23 | fi 24 | 25 | echo "Compiling... [$FILE]" 26 | 27 | COMPILE_LINE="$COMPILER $FILE easylogging++.cc -o bin/$FILE.bin $macro $CXX_STD -Wall -Wextra -pedantic -pedantic-errors -Werror -Wfatal-errors" 28 | 29 | echo " $COMPILE_LINE" 30 | 31 | $($COMPILE_LINE) 32 | 33 | echo " DONE! [./bin/$FILE.bin]" 34 | echo 35 | echo 36 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/API/easylogging++.cc: -------------------------------------------------------------------------------- 1 | #include "../../src/easylogging++.cc" 2 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/API/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/API/logbuilder.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Simple custom log builder 4 | // 5 | // Revision 1.0 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | /// @brief Not a very fast log builder but good enough for sample 14 | class MyLogBuilder : public el::LogBuilder { 15 | public: 16 | std::string build(const el::LogMessage* logMessage, bool appendNewLine) const { 17 | std::stringstream str; 18 | str << logMessage->message(); 19 | if (appendNewLine) str << "\n"; 20 | return str.str().c_str(); 21 | } 22 | }; 23 | 24 | int main(void) { 25 | el::LogBuilderPtr myLogBuilder = el::LogBuilderPtr(new MyLogBuilder()); 26 | el::Loggers::getLogger("default")->setLogBuilder(myLogBuilder); 27 | LOG(INFO) << "message from default logger"; 28 | 29 | el::Loggers::getLogger("new_logger"); 30 | CLOG(INFO, "new_logger") << "message from new_logger logger"; 31 | 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/API/run.sh: -------------------------------------------------------------------------------- 1 | echo "Running '$1'..." 2 | ./$1 3 | echo "Finished '$1'" 4 | echo 5 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/API/run_all.sh: -------------------------------------------------------------------------------- 1 | ## Runs all the build binaries from bin/ folder 2 | 3 | find bin/ -name '*.cpp.bin' -exec sh ./run.sh ./{} \; 4 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/MinGW/.gitignore: -------------------------------------------------------------------------------- 1 | logs/* 2 | *.exe 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/MinGW/compile.bat: -------------------------------------------------------------------------------- 1 | echo Assuming C:\MinGW for MinGW 2 | 3 | set path=%path%;C:\MinGW\bin\ 4 | 5 | "C:\MinGW\bin\g++.exe" -o prog.exe prog.cpp easylogging++.cc -std=c++11 -DELPP_FEATURE_ALL 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/MinGW/easylogging++.cc: -------------------------------------------------------------------------------- 1 | #include "../../src/easylogging++.cc" 2 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/MinGW/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/MinGW/prog.cpp: -------------------------------------------------------------------------------- 1 | #define ELPP_STL_LOGGING 2 | // #define ELPP_FEATURE_CRASH_LOG -- Stack trace not available for MinGW GCC 3 | #define ELPP_PERFORMANCE_MICROSECONDS 4 | #define ELPP_LOG_STD_ARRAY 5 | #define ELPP_LOG_UNORDERED_MAP 6 | #define ELPP_UNORDERED_SET 7 | #include "easylogging++.h" 8 | 9 | INITIALIZE_EASYLOGGINGPP 10 | 11 | TIMED_SCOPE(appTimer, "myapplication"); 12 | 13 | 14 | int main(int argc, const char* argv[]) { 15 | el::Loggers::removeFlag(el::LoggingFlag::AllowVerboseIfModuleNotSpecified); 16 | 17 | TIMED_BLOCK(itr, "write-simple") { 18 | LOG(INFO) << "Test " << __FILE__; 19 | } 20 | VLOG(3) << "Test"; 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/.gitignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | logs/* 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/Cube/.gitignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | logs/* 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/Cube/LICENCE: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person obtaining a copy 2 | of this software and associated documentation files (the "Software"), to deal 3 | in the Software without restriction, including without limitation the rights 4 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 5 | copies of the Software, and to permit persons to whom the Software is 6 | furnished to do so, subject to the following conditions: 7 | 8 | The above notice and this permission notice shall be included in all copies 9 | or substantial portions of the Software. 10 | 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | SOFTWARE. 18 | 19 | File for "Putting It All Together" lesson of the OpenGL tutorial on 20 | www.videotutorialsrock.com 21 | 22 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/Cube/Makefile: -------------------------------------------------------------------------------- 1 | CC = g++ 2 | CFLAGS = -Wall -std=c++11 3 | PROG = cube 4 | 5 | SRCS = main.cpp imageloader.cpp 6 | 7 | ifeq ($(shell uname),Darwin) 8 | LIBS = -framework OpenGL -framework GLUT 9 | else 10 | LIBS = -lglut -lGLU -lGL 11 | endif 12 | 13 | all: $(PROG) 14 | 15 | $(PROG): $(SRCS) 16 | $(CC) $(CFLAGS) -o bin/$(PROG) $(SRCS) $(LIBS) 17 | 18 | clean: 19 | rm -f $(PROG) 20 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/Cube/imageloader.h: -------------------------------------------------------------------------------- 1 | #ifndef IMAGE_LOADER_H_INCLUDED 2 | #define IMAGE_LOADER_H_INCLUDED 3 | 4 | //Represents an image 5 | class Image { 6 | public: 7 | Image(char* ps, int w, int h); 8 | ~Image(); 9 | 10 | /* An array of the form (R1, G1, B1, R2, G2, B2, ...) indicating the 11 | * color of each pixel in image. Color components range from 0 to 255. 12 | * The array starts the bottom-left pixel, then moves right to the end 13 | * of the row, then moves up to the next column, and so on. This is the 14 | * format in which OpenGL likes images. 15 | */ 16 | char* pixels; 17 | int width; 18 | int height; 19 | }; 20 | 21 | //Reads a bitmap image from file. 22 | Image* loadBMP(const char* filename); 23 | #endif 24 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/Cube/vtr.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rflament/loggedfs/82aba9a93489797026ad1a37b637823ece4a7093/vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/Cube/vtr.bmp -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/basic.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "easylogging++.h" 3 | 4 | INITIALIZE_EASYLOGGINGPP 5 | 6 | int main(void) { 7 | 8 | GLfloat f = 0.1f; 9 | LOG(INFO) << f; 10 | 11 | return 0; 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/build_all.sh: -------------------------------------------------------------------------------- 1 | 2 | # Builds all files into bin/ 3 | 4 | [ -d "bin" ] || mkdir "bin" 5 | rm -rf bin/* 6 | 7 | find -maxdepth 1 -type f -name '*.cpp' -exec sh compile.sh {} $1 \; 8 | echo "Completed!" 9 | 10 | files=$(ls -l bin/) 11 | if [ "$files" = "total 0" ];then 12 | exit 1 13 | else 14 | exit 0 15 | fi 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/compile.sh: -------------------------------------------------------------------------------- 1 | ## Helper script for build_all.sh 2 | 3 | FILE=$1 4 | 5 | macro="$macro -DELPP_THREAD_SAFE" 6 | macro="$macro -DELPP_STL_LOGGING" 7 | macro="$macro -DELPP_LOG_STD_ARRAY" 8 | macro="$macro -DELPP_LOG_UNORDERED_SET" 9 | macro="$macro -DELPP_LOG_UNORDERED_MAP" 10 | macro="$macro -DELPP_FEATURE_CRASH_LOG" 11 | macro="$macro -DELPP_FEATURE_ALL" 12 | 13 | if [ "$2" = "" ];then 14 | COMPILER=g++ 15 | else 16 | COMPILER=$2 17 | fi 18 | 19 | CXX_STD='-std=c++0x -pthread' 20 | 21 | if [ "$FILE" = "" ]; then 22 | echo "Please provide filename to compile" 23 | exit 24 | fi 25 | 26 | echo "Compiling... [$FILE]" 27 | 28 | COMPILE_LINE="$COMPILER $FILE easylogging++.cc -o bin/$FILE.bin $macro $CXX_STD -Wall -Wextra -lglut -lGLU -lGL -I/usr/include/x86_64-linux-gnu/c++/4.7/" 29 | 30 | echo " $COMPILE_LINE" 31 | 32 | $($COMPILE_LINE) 33 | 34 | echo " DONE! [./bin/$FILE.bin]" 35 | echo 36 | echo 37 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/easylogging++.cc: -------------------------------------------------------------------------------- 1 | #include "../../src/easylogging++.cc" 2 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/run.sh: -------------------------------------------------------------------------------- 1 | echo "Running '$1'..." 2 | ./$1 3 | echo "Finished '$1'" 4 | echo 5 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/OpenGL/run_all.sh: -------------------------------------------------------------------------------- 1 | ## Runs all the build binaries from bin/ folder 2 | 3 | find bin/ -name '*.cpp.bin' -exec sh ./run.sh ./{} \; 4 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | build-* 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/basic/README.md: -------------------------------------------------------------------------------- 1 | ###### Easylogging++ Qt Samples 2 | 3 | This sample contains: 4 | * Qt containers 5 | * QThread based multi-threading 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/basic/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/basic/qt-sample.pro: -------------------------------------------------------------------------------- 1 | QT += core 2 | greaterThan(QT_MAJOR_VERSION, 4) 3 | 4 | CONFIG += static 5 | DEFINES += ELPP_QT_LOGGING \ 6 | ELPP_FEATURE_ALL \ 7 | ELPP_STL_LOGGING \ 8 | ELPP_STRICT_SIZE_CHECK ELPP_UNICODE \ 9 | ELPP_MULTI_LOGGER_SUPPORT \ 10 | ELPP_THREAD_SAFE 11 | 12 | TARGET = main.cpp.bin 13 | TEMPLATE = app 14 | QMAKE_CXXFLAGS += -std=c++11 15 | SOURCES += main.cpp ../../../src/easylogging++.cc 16 | HEADERS += \ 17 | mythread.h \ 18 | easylogging++.h 19 | 20 | OTHER_FILES += \ 21 | test_conf.conf 22 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/basic/test_conf.conf: -------------------------------------------------------------------------------- 1 | // Set configurations for all format 2 | * GLOBAL: 3 | FORMAT = "%level: %log" 4 | FILENAME = "/tmp/logs/qt.log" 5 | ENABLED = true 6 | TO_FILE = true 7 | TO_STANDARD_OUTPUT = true 8 | SUBSECOND_PRECISION = 6 9 | PERFORMANCE_TRACKING = false 10 | MAX_LOG_FILE_SIZE = 1024 11 | * WARNING: 12 | FILENAME = "/tmp/logs/warnings.log" 13 | MAX_LOG_FILE_SIZE = 100 14 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/fast-dictionary/.gitignore: -------------------------------------------------------------------------------- 1 | logs/* 2 | fast-dictionary 3 | *.o 4 | ui_mainwindow.h 5 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/fast-dictionary/README.md: -------------------------------------------------------------------------------- 1 | Here is a quick sample on what you can (and how you can do) several stuffs in easylogging++ (and Qt) 2 | 3 | Please ignore any crashes (if you observe) as we have not build this sample to handle crashes 4 | 5 | ![Sample screenshot](sample.gif) 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/fast-dictionary/fast-dictionary.pro: -------------------------------------------------------------------------------- 1 | QT += core gui 2 | 3 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 4 | 5 | TARGET = fast-dictionary 6 | TEMPLATE = app 7 | 8 | COMPILER = g++ 9 | QMAKE_CC = $$COMPILER 10 | QMAKE_CXX = $$COMPILER 11 | QMAKE_LINK = $$COMPILER 12 | 13 | QMAKE_CXXFLAGS += -std=c++11 14 | DEFINES += ELPP_FEATURE_ALL \ 15 | ELPP_MULTI_LOGGER_SUPPORT \ 16 | ELPP_THREAD_SAFE 17 | 18 | SOURCES += main.cc\ 19 | mainwindow.cc \ 20 | listwithsearch.cc \ 21 | ../../../src/easylogging++.cc 22 | 23 | HEADERS += mainwindow.hh \ 24 | listwithsearch.hh \ 25 | ../../../src/easylogging++.h 26 | 27 | FORMS += mainwindow.ui 28 | 29 | DISTFILES += \ 30 | words.txt 31 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/fast-dictionary/listwithsearch.hh: -------------------------------------------------------------------------------- 1 | #ifndef LISTWITHSEARCH_HH 2 | #define LISTWITHSEARCH_HH 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | class QResizeEvent; 12 | class QListWidgetItem; 13 | template 14 | class QFuture; 15 | 16 | class ListWithSearch : public QWidget 17 | { 18 | Q_OBJECT 19 | 20 | public: 21 | static int kSearchBarHeight; 22 | enum kBehaviour { kCaseInsensative, kCaseSensative }; 23 | 24 | explicit ListWithSearch(int searchBehaviour_ = kCaseSensative, QWidget *parent = 0); 25 | virtual ~ListWithSearch(); 26 | void add(const QString& item); 27 | void resizeEvent(QResizeEvent *); 28 | void setFocus(void); 29 | 30 | private slots: 31 | void on_txtSearchCriteria_textChanged(const QString&); 32 | void selected(void); 33 | 34 | signals: 35 | void selectionMade(const QString& selection); 36 | 37 | private: 38 | QWidget* parent_; 39 | QListWidget* list; 40 | QLineEdit* txtSearchCriteria; 41 | QList items; 42 | QFuture future_; 43 | QFutureWatcher watcher; 44 | int searchBehaviour_; 45 | 46 | void setup(QWidget *parent = 0); 47 | void performSearch(void); 48 | 49 | }; 50 | 51 | #endif // LISTWITHSEARCH_HH 52 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/fast-dictionary/main.cc: -------------------------------------------------------------------------------- 1 | #include "mainwindow.hh" 2 | #include 3 | #include "../../../src/easylogging++.h" 4 | 5 | INITIALIZE_EASYLOGGINGPP 6 | 7 | TIMED_SCOPE(app, "app"); 8 | 9 | int main(int argc, char *argv[]) 10 | { 11 | START_EASYLOGGINGPP(argc, argv); 12 | el::Loggers::reconfigureAllLoggers(el::ConfigurationType::Format, "%datetime{%H:%m:%s} [%level] %msg"); 13 | QApplication a(argc, argv); 14 | MainWindow w; 15 | w.show(); 16 | for (int i = 1; i <= 10; ++i) { 17 | CLOG_EVERY_N(2, INFO, "default", "performance") << ELPP_COUNTER_POS; 18 | } 19 | return a.exec(); 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/fast-dictionary/mainwindow.hh: -------------------------------------------------------------------------------- 1 | #ifndef MAINWINDOW_HH 2 | #define MAINWINDOW_HH 3 | 4 | #include 5 | 6 | namespace Ui { 7 | class MainWindow; 8 | } 9 | 10 | class ListWithSearch; 11 | 12 | class MainWindow : public QMainWindow 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | explicit MainWindow(QWidget *parent = 0); 18 | ~MainWindow(); 19 | 20 | /** 21 | * Loads memory from list of words provided as param. 22 | * Note, in the source file, this function has performance tracking on. 23 | */ 24 | void initializeDictionary(const QString& wordsFile); 25 | void resizeEvent(QResizeEvent *); 26 | public slots: 27 | void onSelectionMade(const QString& word); 28 | 29 | private slots: 30 | void on_buttonInfo_clicked(); 31 | 32 | private: 33 | Ui::MainWindow* ui; 34 | ListWithSearch* list; 35 | }; 36 | 37 | #endif // MAINWINDOW_HH 38 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/fast-dictionary/sample.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rflament/loggedfs/82aba9a93489797026ad1a37b637823ece4a7093/vendor/github.com/muflihun/easyloggingpp/samples/Qt/fast-dictionary/sample.gif -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/fast-dictionary/words.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rflament/loggedfs/82aba9a93489797026ad1a37b637823ece4a7093/vendor/github.com/muflihun/easyloggingpp/samples/Qt/fast-dictionary/words.txt -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/.gitignore: -------------------------------------------------------------------------------- 1 | # C++ objects and libs 2 | 3 | *.slo 4 | *.lo 5 | *.o 6 | *.a 7 | *.la 8 | *.lai 9 | *.so 10 | *.dll 11 | *.dylib 12 | 13 | # Qt-es 14 | 15 | *.pro.user 16 | *.pro.user.* 17 | moc_*.cpp 18 | qrc_*.cpp 19 | *-build-* 20 | ui_*.h 21 | 22 | # logs 23 | logs/* 24 | # binary 25 | file-splitter-and-joiner 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/README.md: -------------------------------------------------------------------------------- 1 | ###### File splitter/joiner sample 2 | 3 | **About** 4 | 5 | This is multi-threaded application that uses threads in order to split/merge part/s. The idea is not to show how to use threading in Qt, in fact, I might have done it wrong ([this document](http://qt-project.org/wiki/Threads_Events_QObjects) can be helpful to make thread-use better), the idea behind this sample is to show you a possible usage of Easylogging++ is fairly large scale i.e, multiple files project using multi-threading. 6 | 7 | **Usage** 8 | 9 | Once you successfully compile the project using minimum of Qt 4.6.2, you can use this in two ways; 10 | 11 | * Using command-line 12 | 13 | **Split**: `./file-splitter-joiner split [source_file] [total_parts] [destination_dir]` 14 | 15 | **Join**: `./file-splitter-joiner join [destination_file] [parts...]` 16 | 17 | * Using GUI 18 | 19 | When you don't provide enough parameters, a GUI based program will be launched 20 | 21 | **Screen Shots** 22 | 23 | [![Splitter](http://easylogging.org/images/screenshots/splitter.png)](http://easylogging.org/images/screenshots/splitter.png) 24 | 25 | [![Joiner](http://easylogging.org/images/screenshots/joiner.png)](http://easylogging.org/images/screenshots/joiner.png) 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/about.cpp: -------------------------------------------------------------------------------- 1 | #include "about.h" 2 | #include "ui_about.h" 3 | #include 4 | #include "easylogging++.h" 5 | 6 | About::About(QWidget *parent) : 7 | QWidget(parent), 8 | ui(new Ui::About) { 9 | ui->setupUi(this); 10 | ui->el_info->setText(QString("Easylogging++ v") + QString(el::VersionInfo::version().c_str())); 11 | } 12 | 13 | About::~About() { 14 | delete ui; 15 | } 16 | 17 | void About::on_pushButton_clicked() { 18 | QMessageBox aboutQt; 19 | aboutQt.aboutQt(this); 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/about.h: -------------------------------------------------------------------------------- 1 | #ifndef ABOUT_H 2 | #define ABOUT_H 3 | 4 | #include 5 | 6 | 7 | namespace Ui { 8 | class About; 9 | } 10 | 11 | class About : public QWidget { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit About(QWidget *parent = 0); 16 | ~About(); 17 | 18 | private slots: 19 | void on_pushButton_clicked(); 20 | 21 | private: 22 | Ui::About *ui; 23 | }; 24 | 25 | #endif // ABOUT_H 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/addsplittedfiledialog.h: -------------------------------------------------------------------------------- 1 | #ifndef ADDSPLITTEDFILEDIALOG_H 2 | #define ADDSPLITTEDFILEDIALOG_H 3 | 4 | #include 5 | 6 | namespace Ui { 7 | class AddSplittedFileDialog; 8 | } 9 | 10 | class QTreeWidget; 11 | class QTreeWidgetItem; 12 | class QDialogButtonBox; 13 | 14 | class AddSplittedFileDialog : public QDialog { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit AddSplittedFileDialog(QTreeWidget* parentView, QWidget *parent = 0); 19 | ~AddSplittedFileDialog(); 20 | 21 | private slots: 22 | void on_buttonAddPart_clicked(); 23 | void on_buttonBox_accepted(); 24 | 25 | void on_pushButton_clicked(); 26 | 27 | void on_buttonRemove_clicked(); 28 | 29 | private: 30 | Ui::AddSplittedFileDialog *ui; 31 | QTreeWidgetItem* filenamePointer; 32 | QTreeWidgetItem* filePartsPointers; 33 | QTreeWidget* parentView; 34 | QDialogButtonBox* buttonOkCancel; 35 | }; 36 | 37 | #endif // ADDSPLITTEDFILEDIALOG_H 38 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/file-splitter-and-joiner.pro: -------------------------------------------------------------------------------- 1 | #------------------------------------------------- 2 | # 3 | # Project created by QtCreator 2012-12-12T18:34:35 4 | # 5 | #------------------------------------------------- 6 | 7 | QT += core gui 8 | 9 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 10 | 11 | TARGET = file-splitter-and-joiner 12 | TEMPLATE = app 13 | 14 | DEFINES += ELPP_QT_LOGGING \ 15 | ELPP_FEATURE_ALL \ 16 | ELPP_STL_LOGGING \ 17 | ELPP_STRICT_SIZE_CHECK \ 18 | ELPP_FEATURE_CRASH_LOG \ 19 | ELPP_THREAD_SAFE 20 | 21 | COMPILER = g++ 22 | QMAKE_CC = $$COMPILER 23 | QMAKE_CXX = $$COMPILER 24 | QMAKE_LINK = $$COMPILER 25 | 26 | QMAKE_CXXFLAGS += -std=c++11 27 | 28 | SOURCES += main.cpp\ 29 | mainwindow.cpp \ 30 | splitterwidget.cpp \ 31 | joinerwidget.cpp \ 32 | splitablefiledelegate.cpp \ 33 | splittercore.cpp \ 34 | partprocessor.cpp \ 35 | addsplittedfiledialog.cpp \ 36 | joinercore.cpp \ 37 | about.cpp \ 38 | ../../../src/easylogging++.cc 39 | 40 | HEADERS += mainwindow.h \ 41 | easylogging++.h \ 42 | splitterwidget.h \ 43 | joinerwidget.h \ 44 | splitablefiledelegate.h \ 45 | splittercore.h \ 46 | partprocessor.h \ 47 | addsplittedfiledialog.h \ 48 | joinercore.h \ 49 | about.h 50 | 51 | FORMS += \ 52 | joinerwidget.ui \ 53 | splitterwidget.ui \ 54 | addsplittedfiledialog.ui \ 55 | about.ui 56 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/joinercore.cpp: -------------------------------------------------------------------------------- 1 | #include "joinercore.h" 2 | #include 3 | #include 4 | #include "partprocessor.h" 5 | 6 | JoinerCore::JoinerCore(QTreeWidget* widget) { 7 | this->widget = widget; 8 | core = nullptr; 9 | } 10 | 11 | void JoinerCore::startJoining(void) { 12 | QList parts; 13 | QString filename = ""; 14 | for (int i = 0; i < widget->topLevelItemCount(); i++) { 15 | if (core) { 16 | delete core; 17 | core = nullptr; 18 | } 19 | QTreeWidgetItem* currentFile = widget->topLevelItem(i); 20 | parts.clear(); 21 | filename = currentFile->text(0); 22 | for (int p = 0; p < currentFile->childCount(); p++) { 23 | parts.append(currentFile->child(p)->text(0)); 24 | } 25 | core = new PartProcessor(parts, filename, QModelIndex(), PartProcessor::kMerge, this); 26 | connect(core, SIGNAL(updated(PartProcessor*)), this, SIGNAL(updated(PartProcessor*))); 27 | connect(core, SIGNAL(started(PartProcessor*)), this, SIGNAL(started(PartProcessor*))); 28 | connect(core, SIGNAL(finished(PartProcessor*)), this, SIGNAL(finished(PartProcessor*))); 29 | core->start(); 30 | emit started(core); 31 | core->wait(); 32 | emit finished(core); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/joinercore.h: -------------------------------------------------------------------------------- 1 | #ifndef JOINERCORE_H 2 | #define JOINERCORE_H 3 | 4 | #include 5 | 6 | class QTreeWidget; 7 | class PartProcessor; 8 | 9 | class JoinerCore : public QObject { 10 | Q_OBJECT 11 | public: 12 | explicit JoinerCore(QTreeWidget* widget); 13 | void startJoining(void); 14 | private: 15 | QTreeWidget* widget; 16 | PartProcessor* core; 17 | signals: 18 | void updated(PartProcessor*) const; 19 | void started(PartProcessor*) const; 20 | void finished(PartProcessor*) const; 21 | }; 22 | 23 | #endif // JOINERCORE_H 24 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/joinerwidget.cpp: -------------------------------------------------------------------------------- 1 | #include "joinerwidget.h" 2 | #include "ui_joinerwidget.h" 3 | #include 4 | #include 5 | #include "addsplittedfiledialog.h" 6 | #include "joinercore.h" 7 | #include "partprocessor.h" 8 | #include "easylogging++.h" 9 | 10 | JoinerWidget::JoinerWidget(QWidget *parent) : 11 | QWidget(parent), 12 | ui(new Ui::JoinerWidget) { 13 | ui->setupUi(this); 14 | QStringList headers; 15 | headers << "Filename / Parts" << "Size" << "Status"; 16 | this->ui->treeFiles->setHeaderLabels(headers); 17 | } 18 | 19 | JoinerWidget::~JoinerWidget() { 20 | delete ui; 21 | } 22 | 23 | void JoinerWidget::on_buttonAddParts_clicked() { 24 | AddSplittedFileDialog addSplittedFileDialog(ui->treeFiles, this); 25 | addSplittedFileDialog.exec(); 26 | } 27 | 28 | void JoinerWidget::on_buttonUp_clicked() { 29 | //TODO: implement this 30 | //move up 31 | } 32 | 33 | void JoinerWidget::on_buttonDown_clicked() { 34 | //TODO: implement this 35 | //move down 36 | } 37 | 38 | void JoinerWidget::on_buttonStart_clicked() { 39 | core = new JoinerCore(ui->treeFiles); 40 | core->startJoining(); 41 | } 42 | 43 | void JoinerWidget::started(PartProcessor* startedFile) { 44 | //TODO: Have a pointer for current QTreeWidgetItem under progress 45 | //to update UI 46 | } 47 | 48 | void JoinerWidget::finished(PartProcessor* finishedFile) { 49 | 50 | } 51 | 52 | void JoinerWidget::updated(PartProcessor* updatedFile) { 53 | 54 | } 55 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/joinerwidget.h: -------------------------------------------------------------------------------- 1 | #ifndef JOINERWIDGET_H 2 | #define JOINERWIDGET_H 3 | 4 | #include 5 | namespace Ui { 6 | class JoinerWidget; 7 | } 8 | class PartProcessor; 9 | class JoinerCore; 10 | class JoinerWidget : public QWidget { 11 | Q_OBJECT 12 | 13 | public: 14 | explicit JoinerWidget(QWidget *parent = 0); 15 | ~JoinerWidget(); 16 | 17 | private slots: 18 | void on_buttonAddParts_clicked(); 19 | 20 | void on_buttonUp_clicked(); 21 | 22 | void on_buttonDown_clicked(); 23 | 24 | void on_buttonStart_clicked(); 25 | void updated(PartProcessor*); 26 | void finished(PartProcessor*); 27 | void started(PartProcessor*); 28 | private: 29 | Ui::JoinerWidget *ui; 30 | JoinerCore* core; 31 | 32 | }; 33 | 34 | #endif // JOINERWIDGET_H 35 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/mainwindow.h: -------------------------------------------------------------------------------- 1 | #ifndef MAINWINDOW_H 2 | #define MAINWINDOW_H 3 | 4 | #include 5 | 6 | class QTabWidget; 7 | class SplitterWidget; 8 | class JoinerWidget; 9 | class About; 10 | 11 | class MainWindow : public QMainWindow { 12 | Q_OBJECT 13 | 14 | public: 15 | const static int kWidth = 550; 16 | const static int kHeight = 400; 17 | MainWindow(QWidget *parent = 0); 18 | QTabWidget* tabWidget; 19 | ~MainWindow(); 20 | private: 21 | SplitterWidget* splitterWidget; 22 | JoinerWidget* joinerWidget; 23 | About* about; 24 | 25 | void setupUi(void); 26 | void initWidgets(void); 27 | }; 28 | 29 | #endif // MAINWINDOW_H 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/splitablefiledelegate.h: -------------------------------------------------------------------------------- 1 | #ifndef SPLITABLEFILEDELEGATE_H 2 | #define SPLITABLEFILEDELEGATE_H 3 | 4 | #include 5 | class SplitterWidget; 6 | 7 | class SplitableFileDelegate : public QItemDelegate { 8 | Q_OBJECT 9 | public: 10 | SplitableFileDelegate(SplitterWidget *parent = 0); 11 | 12 | virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &, 13 | const QModelIndex &index) const; 14 | 15 | virtual void setEditorData(QWidget *editor, const QModelIndex &index) const; 16 | virtual void setModelData(QWidget *editor, QAbstractItemModel *model, 17 | const QModelIndex &index) const; 18 | 19 | virtual void updateEditorGeometry(QWidget *editor, 20 | const QStyleOptionViewItem &option, const QModelIndex &index) const; 21 | virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; 22 | private: 23 | SplitterWidget* parent; 24 | }; 25 | #endif // SPLITABLEFILEDELEGATE_H 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/file-splitter-joiner/splittercore.h: -------------------------------------------------------------------------------- 1 | #ifndef SPLITTER_H 2 | #define SPLITTER_H 3 | 4 | #include 5 | #include 6 | 7 | class QModelIndex; 8 | class QStandardItemModel; 9 | class PartProcessor; 10 | class SplitterWidget; 11 | 12 | class SplitterCore : public QThread { 13 | Q_OBJECT 14 | public: 15 | SplitterCore(QStandardItemModel* fileModel, QObject* parent = 0, SplitterWidget* parentWidget = 0); 16 | void run(void); 17 | 18 | bool paused(void) const; 19 | void cancel(void); 20 | void pause(void); 21 | void resume(void); 22 | private: 23 | QStandardItemModel* fileModel; 24 | QList splitJoinCores; 25 | bool cancelled; 26 | SplitterWidget* parent; 27 | signals: 28 | void updated(PartProcessor*) const; 29 | void started(PartProcessor*) const; 30 | void finished(PartProcessor*) const; 31 | void fileStarted(int index, const QString& filename, const QString& destinationDir, int totalParts) const; 32 | void fileCompleted(int index) const; 33 | }; 34 | 35 | #endif // SPLITTER_H 36 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/shared-lib/README.md: -------------------------------------------------------------------------------- 1 | ``` 2 | A very simple sample demonstrating an app and shared-lib usage that both uses 3 | easylogging++ as their logging library. 4 | 5 | @rev 1.0 6 | @since v9.01 7 | @author mkhan3189 8 | ``` 9 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/shared-lib/myapp/easylogging++.h: -------------------------------------------------------------------------------- 1 | #ifndef EASYLOGGING_H 2 | #define EASYLOGGING_H 3 | #include "../../../../src/easylogging++.h" 4 | #endif // EASYLOGGING_H 5 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/shared-lib/myapp/main.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "mylib.hh" 3 | #include "easylogging++.h" 4 | 5 | INITIALIZE_EASYLOGGINGPP 6 | 7 | int main(int argc, char *argv[]) 8 | { 9 | QApplication a(argc, argv); 10 | 11 | Mylib l; 12 | 13 | LOG(INFO) << "1 + 2 = " << l.add(1, 2); 14 | LOG(INFO) << "1 / 2 = " << l.div(1, 2); 15 | LOG(DEBUG) << "1 * 2 = " << l.mul(1, 2); 16 | 17 | // This will cause FATAL error because of division by zero 18 | // LOG(INFO) << l.div(1, 0); 19 | 20 | return 0; 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/shared-lib/myapp/myapp.pro: -------------------------------------------------------------------------------- 1 | #------------------------------------------------- 2 | # 3 | # Project created by QtCreator 2013-08-17T01:02:59 4 | # 5 | #------------------------------------------------- 6 | 7 | QT += core gui 8 | 9 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 10 | 11 | TARGET = myapp 12 | TEMPLATE = app 13 | 14 | QMAKE_CXXFLAGS += -std=c++11 15 | 16 | DEPENDPATH += . ../mylib 17 | INCLUDEPATH += ../mylib 18 | LIBS+= -L../build-mylib -lmylib # try in lib build dir "sudo cp %{buildDir}/libmylib.so* /usr/lib/" to make this work 19 | 20 | 21 | SOURCES += main.cc 22 | 23 | HEADERS += \ 24 | easylogging++.h 25 | 26 | FORMS += 27 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/shared-lib/mylib/easylogging++.h: -------------------------------------------------------------------------------- 1 | #ifndef EASYLOGGING_H 2 | #define EASYLOGGING_H 3 | #include "../../../../src/easylogging++.h" 4 | #endif // EASYLOGGING_H 5 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/shared-lib/mylib/mylib.cc: -------------------------------------------------------------------------------- 1 | #include "mylib.hh" 2 | 3 | #include "easylogging++.h" 4 | 5 | INITIALIZE_EASYLOGGINGPP 6 | 7 | Mylib::Mylib(void) 8 | { 9 | LOG(INFO) << "Mylib has been constructed"; 10 | } 11 | 12 | Mylib::~Mylib() 13 | { 14 | LOG(INFO) << "Destroying Mylib"; 15 | } 16 | 17 | float Mylib::add(float x, float y) const 18 | { 19 | LOG(INFO) << "Adding " << x << " and " << y; 20 | return x + y; 21 | } 22 | 23 | float Mylib::sub(float x, float y) const 24 | { 25 | LOG(INFO) << "Subtracting " << y << " from " << x; 26 | return y - x; 27 | } 28 | 29 | float Mylib::mul(float x, float y) const 30 | { 31 | LOG(INFO) << "Multiplying " << x << " and " << y; 32 | return x * y; 33 | } 34 | 35 | float Mylib::div(float x, float y) const 36 | { 37 | CHECK_NE(y, 0) << "Division by zero!"; 38 | LOG(INFO) << "Dividing " << x << " by " << y; 39 | return x / y; 40 | } 41 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/shared-lib/mylib/mylib.hh: -------------------------------------------------------------------------------- 1 | #ifndef MYLIB_HH 2 | #define MYLIB_HH 3 | 4 | #include "mylib_global.hh" 5 | 6 | class MYLIBSHARED_EXPORT Mylib 7 | { 8 | 9 | public: 10 | Mylib(void); 11 | virtual ~Mylib(void); 12 | float add(float x, float y) const; 13 | float sub(float x, float y) const; 14 | float mul(float x, float y) const; 15 | float div(float x, float y) const; 16 | }; 17 | 18 | #endif // MYLIB_HH 19 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/shared-lib/mylib/mylib.pro: -------------------------------------------------------------------------------- 1 | #------------------------------------------------- 2 | # 3 | # Project created by QtCreator 2013-08-17T00:52:43 4 | # 5 | #------------------------------------------------- 6 | 7 | QT -= gui 8 | 9 | TARGET = mylib 10 | TEMPLATE = lib 11 | 12 | QMAKE_CXXFLAGS += -std=c++11 13 | 14 | DEFINES += MYLIB_LIBRARY 15 | 16 | SOURCES += mylib.cc 17 | 18 | HEADERS += mylib.hh\ 19 | mylib_global.hh \ 20 | easylogging++.h 21 | 22 | unix:!symbian { 23 | maemo5 { 24 | target.path = /opt/usr/lib 25 | } else { 26 | target.path = /usr/lib 27 | } 28 | INSTALLS += target 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/Qt/shared-lib/mylib/mylib_global.hh: -------------------------------------------------------------------------------- 1 | #ifndef MYLIB_GLOBAL_HH 2 | #define MYLIB_GLOBAL_HH 3 | 4 | #include 5 | 6 | #if defined(MYLIB_LIBRARY) 7 | # define MYLIBSHARED_EXPORT Q_DECL_EXPORT 8 | #else 9 | # define MYLIBSHARED_EXPORT Q_DECL_IMPORT 10 | #endif 11 | 12 | #endif // MYLIB_GLOBAL_HH 13 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/.gitignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | logs/* 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/.travis_build.sh: -------------------------------------------------------------------------------- 1 | sh ./build_all.sh clang++ 2 | if [ "$?" = "0" ];then 3 | echo "Built successfully" 4 | sh ./run_all.sh 5 | echo "Successfully ran all samples" 6 | else 7 | echo "Build failed! (code: $?)" 8 | exit $? 9 | fi 10 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/autospace.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Demonstration of auto spacing functionality 4 | // 5 | // Revision 1.2 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | int main(void) { 14 | 15 | LOG(INFO) << "this" << "is" << "a" << "message"; 16 | std::string str = "-sample-"; 17 | std::wstring wstr = L"-wsample-"; 18 | const char* chr = "-csample-"; 19 | const wchar_t* wchr = L"-wcsample-"; 20 | LOG(INFO) << str << str << str << str; 21 | LOG(INFO) << wstr << wstr << wstr << wstr; 22 | LOG(INFO) << chr << chr << chr << chr; 23 | LOG(INFO) << wchr << wchr << wchr << wchr; 24 | 25 | // ---- THIS IS MAGIC 26 | el::Loggers::addFlag(el::LoggingFlag::AutoSpacing); 27 | 28 | LOG(INFO) << "this" << "is" << "a" << "message"; 29 | LOG(INFO) << str << str << str << str; 30 | LOG(INFO) << wstr << wstr << wstr << wstr; 31 | LOG(INFO) << chr << chr << chr << chr; 32 | LOG(INFO) << wchr << wchr << wchr << wchr; 33 | 34 | return 0; 35 | } 36 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/build_all.sh: -------------------------------------------------------------------------------- 1 | 2 | # Builds all files into bin/ 3 | 4 | [ -d "bin" ] || mkdir "bin" 5 | rm -rf bin/* 6 | EXCLUDE_LIST="logrotate.cpp" 7 | find . -maxdepth 1 -type f -name '*.cpp' -not -name $EXCLUDE_LIST -exec sh compile.sh {} $1 \; 8 | echo "Completed!" 9 | 10 | files=$(ls -l bin/) 11 | if [ "$files" = "total 0" ];then 12 | exit 1 13 | else 14 | exit 0 15 | fi 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/compile.sh: -------------------------------------------------------------------------------- 1 | ## Helper script for build_all.sh 2 | 3 | FILE=$1 4 | 5 | macro="$macro -DELPP_DEBUG_ERRORS" 6 | macro="$macro -DELPP_THREAD_SAFE" 7 | macro="$macro -DELPP_STL_LOGGING" 8 | macro="$macro -DELPP_LOG_UNORDERED_SET" 9 | macro="$macro -DELPP_LOG_UNORDERED_MAP" 10 | macro="$macro -DELPP_FEATURE_CRASH_LOG" 11 | macro="$macro -DELPP_LOGGING_FLAGS_FROM_ARG" 12 | macro="$macro -DELPP_FEATURE_ALL" 13 | # macro="$macro -DELPP_DEFAULT_LOG_FILE=\"/a/path/that/does/not/exist/f.log\"" 14 | 15 | if [ "$2" = "" ];then 16 | COMPILER=g++ 17 | else 18 | COMPILER=$2 19 | fi 20 | 21 | CXX_STD='-std=c++0x -pthread' 22 | 23 | if [ "$FILE" = "" ]; then 24 | echo "Please provide filename to compile" 25 | exit 26 | fi 27 | 28 | echo "Compiling... [$FILE]" 29 | 30 | COMPILE_LINE="$COMPILER $FILE easylogging++.cc -o bin/$FILE.bin $macro $CXX_STD -Wall -Wextra -pedantic -pedantic-errors -Werror -Wfatal-errors -Wundef -Wunused" 31 | 32 | echo " $COMPILE_LINE" 33 | 34 | $($COMPILE_LINE) 35 | 36 | echo " DONE! [./bin/$FILE.bin]" 37 | echo 38 | echo 39 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/conditional.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of EasyLogging++ samples 3 | // 4 | // Conditional logging using LOG_IF, you can use CLOG_IF(condition, loggerID) macro to use your own logger if you 5 | // don't want to use default logger 6 | // 7 | // Revision 1.1 8 | // @author mkhan3189 9 | // 10 | 11 | #include "easylogging++.h" 12 | 13 | INITIALIZE_EASYLOGGINGPP 14 | 15 | int main(void) { 16 | 17 | LOG_IF(1 == 1, INFO) << "1 is equal to 1"; 18 | 19 | LOG_IF(1 > 2, INFO) << "1 is greater than 2"; 20 | 21 | LOG_IF(1 == 2, DEBUG) << "1 is equal to 2"; 22 | 23 | return 0; 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/configurator.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Very basic sample to configure using el::Configuration and configuration file 5 | // 6 | // Revision 1.1 7 | // @author mkhan3189 8 | // 9 | 10 | #include "easylogging++.h" 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | int main(int argc, char** argv) { 15 | START_EASYLOGGINGPP(argc, argv); 16 | LOG(INFO) << "Info log using 'default' logger before using configuration"; 17 | 18 | el::Configurations confFromFile("../default-logger.conf"); 19 | 20 | el::Loggers::reconfigureAllLoggers(confFromFile); 21 | 22 | LOG(INFO) << "Info log after manually configuring 'default' logger"; 23 | el::Loggers::getLogger("default")->reconfigure(); 24 | LOG(ERROR) << "Error log"; 25 | LOG(WARNING) << "WARNING! log"; 26 | VLOG(1) << "Verbose log 1"; 27 | VLOG(2) << "Verbose log 2"; 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/crash.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Demonstration on how crashes are handled. You can set second argument of this progam to `y` 5 | // and application will not abort before crash is handled 6 | // 7 | // Revision 1.1 8 | // @author mkhan3189 9 | // 10 | 11 | #include "easylogging++.h" 12 | 13 | INITIALIZE_EASYLOGGINGPP 14 | 15 | class Crasher { 16 | public: 17 | Crasher(void) { 18 | str = nullptr; 19 | call3(); 20 | } 21 | 22 | void call1(void) { 23 | LOG(INFO) << "Bye bye!"; 24 | str->clear(); // Crash! 25 | } 26 | 27 | void call2(void) { 28 | LOG(INFO) << "Calling call1()"; 29 | call1(); 30 | } 31 | 32 | void call3(void) { 33 | LOG(INFO) << "Calling call2()"; 34 | call2(); 35 | } 36 | private: 37 | std::string* str; 38 | }; 39 | 40 | int main(int argc, char** argv) { 41 | // If argv[1] == "y" means PREVENT CRASH ABORTION = YES 42 | if (argc > 1 && argv[1][0] == 'y') { 43 | el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog); 44 | LOG(FATAL) << "Before we crash we try to log using FATAL log and make sure app did not crash because we added flag DisableApplicationAbortOnFatalLog"; 45 | } 46 | Crasher c; 47 | return 0; 48 | } 49 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/custom-crash-handler.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Custom crash handler sample to demonstrate el::Helpers::setCrashHandler 5 | // 6 | // Revision 1.0 7 | // @author mkhan3189 8 | // 9 | 10 | #include "easylogging++.h" 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | void myCrashHandler(int sig) { 15 | LOG(ERROR) << "Woops! Crashed!"; 16 | // FOLLOWING LINE IS OPTIONAL 17 | el::Helpers::logCrashReason(sig, true); 18 | // FOLLOWING LINE IS ABSOLUTELY NEEDED AT THE END IN ORDER TO ABORT APPLICATION 19 | el::Helpers::crashAbort(sig); 20 | } 21 | 22 | int main(void) { 23 | 24 | el::Helpers::setCrashHandler(myCrashHandler); 25 | 26 | LOG(INFO) << "My crash handler!"; 27 | 28 | std::string* s = new std::string(); 29 | delete s; 30 | s->clear();; // Crash! 31 | 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/default-configurations.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Demonstrates setting default configurations for existing and future loggers 5 | // 6 | // Revision 1.1 7 | // @author mkhan3189 8 | // 9 | 10 | #include "easylogging++.h" 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | using namespace el; 15 | 16 | int main(void) { 17 | 18 | Configurations c; 19 | c.setGlobally(ConfigurationType::Format, "[%logger] %level: %msg"); 20 | c.setGlobally(ConfigurationType::Filename, "/tmp/logs/custom.log"); 21 | // Set default configuration for any future logger - existing logger will not use this configuration unless 22 | // either true is passed in second argument or set explicitly using Loggers::reconfigureAllLoggers(c); 23 | Loggers::setDefaultConfigurations(c); 24 | LOG(INFO) << "Set default configuration but existing loggers not updated yet"; // Logging using trivial logger 25 | Loggers::getLogger("testDefaultConf"); 26 | CLOG(INFO, "testDefaultConf") << "Logging using new logger 1"; // You can also use CINFO << "..." 27 | // Now setting default and also resetting existing loggers 28 | Loggers::setDefaultConfigurations(c, true); 29 | LOG(INFO) << "Existing loggers updated as well"; 30 | Loggers::getLogger("testDefaultConf2"); 31 | CLOG(INFO, "testDefaultConf2") << "Logging using new logger 2"; 32 | 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/default-log-file-from-arg.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Default log file using '--default-log-file' arg 4 | // 5 | // Revision 1.0 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | int main(int argc, char** argv) { 14 | START_EASYLOGGINGPP(argc, argv); 15 | 16 | LOG(INFO) << "My log message - hopefully you have reconfigured log file by using" 17 | << " --default-log-file=blah.log and defined ELPP_NO_DEFAULT_LOG_FILE"; 18 | 19 | return 0; 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/del-logger.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Sample to remove logger 4 | // 5 | // Revision 1.0 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | int main(void) { 14 | 15 | LOG(INFO) << "My first ultimate log message"; 16 | CLOG(INFO, "test") << "Send me error"; 17 | el::Loggers::getLogger("test"); 18 | CLOG(INFO, "test") << "Write"; 19 | el::Loggers::unregisterLogger("test"); 20 | CLOG(INFO, "test") << "Send me error"; 21 | DLOG(INFO) << "Wow"; 22 | return 0; 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/different-output.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // different-output.cpp 3 | // v1.0 4 | // 5 | // Multiple loggers to have different output for file and console 6 | // 7 | 8 | #include "easylogging++.h" 9 | 10 | INITIALIZE_EASYLOGGINGPP 11 | 12 | #define MY_CUSTOM_LOGGER(LEVEL) CLOG(LEVEL, "default", "fileLogger") 13 | 14 | int main() { 15 | 16 | el::Configurations fileConf("../file.conf"); 17 | el::Configurations consoleConf("../console.conf"); 18 | 19 | 20 | el::Loggers::addFlag(el::LoggingFlag::MultiLoggerSupport); // Enables support for multiple loggers 21 | el::Logger* fileLogger = el::Loggers::getLogger("fileLogger"); // Register new logger 22 | 23 | el::Loggers::reconfigureLogger("default", consoleConf); 24 | el::Loggers::reconfigureLogger(fileLogger, fileConf); 25 | 26 | 27 | 28 | MY_CUSTOM_LOGGER(INFO) << "This is how we do it."; 29 | 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/easylogging++.cc: -------------------------------------------------------------------------------- 1 | #include "../../src/easylogging++.cc" 2 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/flags.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Demonstration of STL flags, e.g, std::boolalpha 4 | // 5 | // Revision 1.1 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | int main(void) { 14 | 15 | bool v = true; 16 | LOG(INFO) << std::boolalpha << v; 17 | LOG(INFO) << std::noboolalpha << v; 18 | 19 | return 0; 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/global-configuration.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Very basic sample to configure using global configuration (el::Loggers::configureFromGlobal) 5 | // 6 | // Revision 1.1 7 | // @author mkhan3189 8 | // 9 | 10 | #include "easylogging++.h" 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | int main(void) { 15 | 16 | LOG(INFO) << "Info log before using global configuration"; 17 | 18 | el::Loggers::configureFromGlobal("../global.conf"); 19 | 20 | LOG(INFO) << "Info log AFTER using global configuration"; 21 | LOG(ERROR) << "Error log AFTER using global configuration"; 22 | 23 | return 0; 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/helpers.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Helpers sample - this sample contains methods with explanation in comments on how to use them 5 | // 6 | // Revision 1.2 7 | // @author mkhan3189 8 | // 9 | 10 | #include "easylogging++.h" 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | void configureFromArg() { 15 | // Configures globally using "--logging" param value 16 | // example: ./prog --logging-conf=/tmp/myglobal.conf 17 | el::Loggers::configureFromArg("--logging-conf"); 18 | } 19 | 20 | void flush() { 21 | // Flush all levels of default logger 22 | el::Loggers::getLogger("default")->flush(); 23 | 24 | // Flush all loggers all levels 25 | el::Loggers::flushAll(); 26 | } 27 | 28 | int main(int argc, char** argv) { 29 | START_EASYLOGGINGPP(argc, argv); 30 | 31 | configureFromArg(); 32 | 33 | flush(); 34 | return 0; 35 | } 36 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/locale.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Demonstration on how locale gives output 5 | // 6 | // Revision 1.1 7 | // @author mkhan3189 8 | // 9 | #ifndef ELPP_UNICODE 10 | # define ELPP_UNICODE 11 | #endif 12 | 13 | #include "easylogging++.h" 14 | 15 | INITIALIZE_EASYLOGGINGPP 16 | 17 | int main(int argc, const char** argv) { 18 | START_EASYLOGGINGPP(argc, argv); 19 | 20 | LOG(INFO) << L"世界,你好"; 21 | return 0; 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/log-dispatch-callback.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Demonstrates how to use log dispatch callback 4 | // 5 | // Revision 1.0 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | class MyHandler : public el::LogDispatchCallback { 14 | public: 15 | void handle(const el::LogDispatchData*) { 16 | // NEVER DO LOG FROM HANDLER! 17 | // LOG(INFO) << "Test MyHandler " << msg; 18 | } 19 | }; 20 | 21 | class MyHtmlHandler : public el::LogDispatchCallback { 22 | public: 23 | MyHtmlHandler() { 24 | el::Loggers::getLogger("html"); // register 25 | } 26 | void handle(const el::LogDispatchData*) { 27 | // NEVER DO LOG FROM HANDLER! 28 | // CLOG(INFO, "html") << data->logMessage()->message(); 29 | std::cout << "Test handler" << std::endl; 30 | } 31 | }; 32 | 33 | int main(void) { 34 | 35 | el::Helpers::installLogDispatchCallback("MyHandler"); 36 | el::Helpers::installLogDispatchCallback("MyHtmlHandler"); 37 | 38 | LOG(INFO) << "My first log message"; 39 | LOG(INFO) << "My second log message"; 40 | 41 | return 0; 42 | } 43 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/loggable.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Usage sample of el::Loggable to make class log-friendly 5 | // 6 | // Revision 1.1 7 | // @author mkhan3189 8 | // 9 | 10 | #include "easylogging++.h" 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | class MyClass : public el::Loggable { 15 | public: 16 | MyClass(const std::string& name) : m_name(name) {} 17 | 18 | virtual inline void log(el::base::type::ostream_t& os) const { 19 | os << m_name.c_str(); 20 | } 21 | 22 | 23 | private: 24 | std::string m_name; 25 | }; 26 | 27 | int main(void) { 28 | MyClass c("c"); 29 | MyClass c2("c2"); 30 | LOG(INFO) << "I am " << c << "; and I am " << c2; 31 | return 0; 32 | } 33 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/logger-log-functions.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Very basic sample for Logger::info etc 4 | // 5 | // Revision 1.0 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | int main(int argc, char** argv) { 14 | 15 | START_EASYLOGGINGPP(argc, argv); 16 | 17 | el::Logger* defaultLogger = el::Loggers::getLogger("default"); 18 | 19 | std::vector i; 20 | i.push_back(1); 21 | i.push_back(2); 22 | defaultLogger->warn("My first ultimate log message %v %v %v", 123, 222, i); 23 | 24 | // Escaping 25 | defaultLogger->info("My first ultimate log message %% %%v %v %v", 123, 222); // My first ultimate log message % %v 123 222 26 | 27 | defaultLogger->verbose(1, "test verbose"); 28 | defaultLogger->verbose(1, "test verbose with args %v", 2); 29 | 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/logrotate-pthread.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Sample to show how to implement log rotate using easylogging++ (posix thread version) 5 | // Thanks to Darren for efforts (http://darrendev.blogspot.com.au/) 6 | // 7 | // Compile: g++ -std=c++11 -Wall -Werror logrotate.cpp -lpthread -o logrotate -DELPP_THREAD_SAFE 8 | // 9 | // Revision 1.1 10 | // @author mkhan3189 11 | // 12 | 13 | #define ELPP_NO_DEFAULT_LOG_FILE 14 | #include "easylogging++.h" 15 | #include // for sleep() 16 | 17 | INITIALIZE_EASYLOGGINGPP 18 | 19 | void* logRotate(void*){ 20 | // Rotate every 20 seconds 21 | while (true){ 22 | sleep(20); 23 | LOG(INFO) << "About to rotate log file!"; 24 | el::Loggers::getLogger("default")->reconfigure(); 25 | } 26 | return NULL; 27 | } 28 | 29 | int main(int, char**){ 30 | el::Loggers::configureFromGlobal("logrotate.conf"); 31 | LOG(INFO) << "The program has started!"; 32 | 33 | pthread_t logRotatorThread; 34 | pthread_create(&logRotatorThread, NULL, logRotate, NULL); 35 | 36 | //Main thread 37 | for(int n = 0; n < 60; ++n){ 38 | LOG(TRACE) << n; 39 | sleep(1); 40 | } 41 | 42 | LOG(INFO) << "Shutting down."; 43 | return 0; 44 | } 45 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/logrotate.conf: -------------------------------------------------------------------------------- 1 | -- default 2 | * GLOBAL: 3 | FORMAT = "%datetime{%Y-%M-%d %H:%m:%s.%g},%level,%thread,%msg" 4 | SUBSECOND_PRECISION = 4 5 | TO_FILE = true 6 | FILENAME = "logs/info.%datetime{%Y%M%d_%H%m%s}.log" 7 | LOG_FLUSH_THRESHOLD = 5 8 | 9 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/logrotate.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Sample to show how to implement log rotate using easylogging++ 5 | // Thanks to Darren for efforts (http://darrendev.blogspot.com.au/) 6 | // 7 | // Compile: g++ -std=c++11 -Wall -Werror logrotate.cpp -lpthread -o logrotate -DELPP_THREAD_SAFE 8 | // 9 | // Revision 1.0 10 | // @author Darren 11 | // 12 | 13 | #include 14 | #define ELPP_NO_DEFAULT_LOG_FILE 15 | #include "easylogging++.h" 16 | 17 | INITIALIZE_EASYLOGGINGPP 18 | 19 | int main(int,char**){ 20 | el::Loggers::configureFromGlobal("logrotate.conf"); 21 | LOG(INFO)<<"The program has started!"; 22 | 23 | std::thread logRotatorThread([](){ 24 | const std::chrono::seconds wakeUpDelta = std::chrono::seconds(20); 25 | auto nextWakeUp = std::chrono::system_clock::now() + wakeUpDelta; 26 | 27 | while(true){ 28 | std::this_thread::sleep_until(nextWakeUp); 29 | nextWakeUp += wakeUpDelta; 30 | LOG(INFO) << "About to rotate log file!"; 31 | auto L = el::Loggers::getLogger("default"); 32 | if(L == nullptr)LOG(ERROR)<<"Oops, it is not called default!"; 33 | else L->reconfigure(); 34 | } 35 | 36 | }); 37 | 38 | logRotatorThread.detach(); 39 | 40 | //Main thread 41 | for(int n = 0; n < 1000; ++n){ 42 | LOG(TRACE) << n; 43 | std::this_thread::sleep_for(std::chrono::milliseconds(100)); 44 | } 45 | 46 | LOG(INFO) << "Shutting down."; 47 | return 0; 48 | } 49 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/make-loggable.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Usage of MAKE_LOGGABLE to make class log-friendly 5 | // 6 | // Revision 1.1 7 | // @author mkhan3189 8 | // 9 | 10 | #include "easylogging++.h" 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | class Integer { 15 | public: 16 | Integer(int i) : m_underlyingInt(i) {} 17 | Integer& operator=(const Integer& integer) { m_underlyingInt = integer.m_underlyingInt; return *this; } 18 | virtual ~Integer(void) { m_underlyingInt = -1; } 19 | int getInt(void) const { return m_underlyingInt; } 20 | inline operator int() const { return m_underlyingInt; } 21 | private: 22 | int m_underlyingInt; 23 | }; 24 | 25 | // Lets say Integer class is in some third party library 26 | 27 | // We use MAKE_LOGGABLE(class, instance, outputStream) to make it loggable 28 | inline MAKE_LOGGABLE(Integer, integer, os) { 29 | os << integer.getInt(); 30 | return os; 31 | } 32 | 33 | 34 | int main(void) { 35 | 36 | Integer count = 5; 37 | LOG(INFO) << "Integer count = " << count; 38 | int reverse = count; 39 | LOG(INFO) << "int reverse = " << reverse; 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/manipulators.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Demonstration of manipulators usages and how they behave 5 | // 6 | // Revision 1.1 7 | // @author mkhan3189 8 | // 9 | 10 | #include "easylogging++.h" 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | int main(void) { 15 | 16 | LOG(INFO) << "std::endl" << std::endl; 17 | LOG(INFO) << "std::flush" << std::flush; 18 | LOG(INFO) << "std::uppercase "; 19 | 20 | double i = 1.23e100; 21 | LOG(INFO) << i; 22 | LOG(INFO) << std::uppercase << i; 23 | 24 | int j = 10; 25 | LOG(INFO) << std::hex << std::nouppercase << j; 26 | LOG(INFO) << std::hex << std::uppercase << j; 27 | 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/multiple-loggers.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Very basic sample - log using multiple loggers 4 | // 5 | // Revision 1.0 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | int main(void) { 14 | 15 | el::Loggers::addFlag(el::LoggingFlag::MultiLoggerSupport); // Enables support for multiple loggers 16 | 17 | el::Loggers::getLogger("network"); // Register 'network' logger 18 | 19 | CLOG(INFO, "default", "network") << "My first log message that writes with network and default loggers"; 20 | 21 | 22 | // Another way of doing this may be 23 | #define _LOGGER "default", "network" 24 | CLOG(INFO, _LOGGER) << "This is done by _LOGGER"; 25 | 26 | // More practical way of doing this 27 | #define NETWORK_LOG(LEVEL) CLOG(LEVEL, _LOGGER) 28 | NETWORK_LOG(INFO) << "This is achieved by NETWORK_LOG macro"; 29 | 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/new-logger-registration-callback.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // LoggerRegistrationCallback sample 4 | // 5 | // Revision 1.0 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | class Handler : public el::LoggerRegistrationCallback { 13 | protected: 14 | void handle(const el::Logger* logger) { 15 | // Never log anything here 16 | ELPP_COUT << "(Handler) Registered new logger " << logger->id() << std::endl; 17 | } 18 | }; 19 | 20 | class Handler2 : public el::LoggerRegistrationCallback { 21 | protected: 22 | void handle(const el::Logger* logger) { 23 | ELPP_COUT << "(Handler2) Registered new logger " << logger->id() << std::endl; 24 | } 25 | }; 26 | 27 | int main(void) { 28 | 29 | el::Loggers::installLoggerRegistrationCallback("handler"); 30 | el::Loggers::installLoggerRegistrationCallback("handler2"); 31 | 32 | LOG(INFO) << "Now we will register three loggers"; 33 | 34 | el::Loggers::getLogger("logger1"); 35 | el::Loggers::getLogger("logger2"); 36 | el::Loggers::getLogger("logger3"); 37 | return 0; 38 | } 39 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/no-default-log-file.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Very basic sample to configure using configuration and not default log file 5 | // 6 | // Revision 1.0 7 | // @author mkhan3189 8 | // 9 | 10 | #define ELPP_NO_DEFAULT_LOG_FILE 11 | 12 | #include "easylogging++.h" 13 | 14 | INITIALIZE_EASYLOGGINGPP 15 | 16 | int main(void) { 17 | 18 | // If we log before configuration, we will end up with heaps of internal errors because ELPP_NO_DEFAULT_LOG_FILE is defined before include 19 | el::Configurations confFromFile("../default-logger.conf"); 20 | 21 | el::Loggers::reconfigureAllLoggers(confFromFile); 22 | 23 | LOG(INFO) << "Logging after configured!"; 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/occasional.cpp: -------------------------------------------------------------------------------- 1 | // This file is part of Easylogging++ samples 2 | // 3 | // Sample to demonstrate using occasionals and other hit counts based logging 4 | // 5 | // Revision 1.2 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | int main(int argc, char** argv) { 14 | START_EASYLOGGINGPP(argc, argv); 15 | 16 | for (int i = 1;i < 1000; ++i) { 17 | LOG_EVERY_N(20, INFO) << "LOG_EVERY_N i = " << i; 18 | LOG_EVERY_N(100, INFO) << "LOG_EVERY_N Current position is " << ELPP_COUNTER_POS; 19 | } 20 | for (int i = 1;i <= 10; ++i) { 21 | LOG_AFTER_N(6, INFO) << "LOG_AFTER_N i = " << i; 22 | } 23 | for (int i = 1;i < 100; ++i) { 24 | LOG_N_TIMES(50, INFO) << "LOG_N_TIMES i = " << i; 25 | } 26 | return 0; 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/plog.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Log using PLOG and family. PLOG is same as perror() with c++-styled stream 5 | // 6 | // Revision 1.1 7 | // @author mkhan3189 8 | // 9 | 10 | #include "easylogging++.h" 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | int main(void) { 15 | el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog); 16 | std::fstream f("a file that does not exist", std::ifstream::in); 17 | PLOG(INFO) << "A message with plog"; 18 | PLOG_IF(true, INFO) << "A message with plog"; 19 | PLOG_IF(false, INFO) << "A message with plog"; 20 | PCHECK(true) << "This is good"; 21 | LOG(INFO) << "This is normal info log after plog"; 22 | DPCHECK(true) << "Wow"; 23 | DPCHECK(false) << "Wow failed"; 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/roll-out.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Demonstration on possible usage of pre-rollout handler 5 | // 6 | // Revision: 1.1 7 | // @author mkhan3189 8 | // 9 | 10 | #include "easylogging++.h" 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | static unsigned int idx; 15 | 16 | void rolloutHandler(const char* filename, std::size_t size) { 17 | // SHOULD NOT LOG ANYTHING HERE BECAUSE LOG FILE IS CLOSED! 18 | std::cout << "************** Rolling out [" << filename << "] because it reached [" << size << " bytes]" << std::endl; 19 | 20 | // BACK IT UP 21 | std::stringstream ss; 22 | ss << "mv " << filename << " bin/log-backup-" << ++idx; 23 | system(ss.str().c_str()); 24 | } 25 | 26 | int main(int, char**) { 27 | idx = 0; 28 | el::Loggers::addFlag(el::LoggingFlag::StrictLogFileSizeCheck); 29 | el::Loggers::reconfigureAllLoggers(el::ConfigurationType::Filename, "/tmp/logs/max-size.log"); 30 | el::Loggers::reconfigureAllLoggers(el::ConfigurationType::MaxLogFileSize, "100"); 31 | el::Helpers::installPreRollOutCallback(rolloutHandler); 32 | 33 | for (int i = 0; i < 100; ++i) 34 | LOG(INFO) << "Test"; 35 | 36 | el::Helpers::uninstallPreRollOutCallback(); 37 | return 0; 38 | } 39 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/run.sh: -------------------------------------------------------------------------------- 1 | echo "Running '$1'..." 2 | ./$1 -v 3 | echo "Finished '$1'" 4 | echo 5 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/run_all.sh: -------------------------------------------------------------------------------- 1 | ## Runs all the build binaries from bin/ folder 2 | 3 | find bin/ -name '*.cpp.bin' -exec sh ./run.sh ./{} \; 4 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/shared-static-libs/.gitignore: -------------------------------------------------------------------------------- 1 | lib/libmyLib.so 2 | lib/easylogging++.o 3 | lib/mylib.o 4 | lib/myLib.a 5 | myLib.a 6 | libmyLib.so 7 | logs/* 8 | myapp 9 | myapp.dSYM/* 10 | 11 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/shared-static-libs/README.md: -------------------------------------------------------------------------------- 1 | ## A Simple example of shared and static compilations 2 | 3 | ``` 4 | . 5 | ├── compile_shared.sh 6 | ├── compile_static.sh 7 | ├── lib 8 | │   ├── include 9 | │   │   ├── easylogging++.h 10 | │   │   └── mylib.hpp 11 | │   └── mylib.cpp 12 | └── myapp.cpp 13 | 14 | 2 directories, 6 files 15 | ``` 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/shared-static-libs/compile_shared.sh: -------------------------------------------------------------------------------- 1 | rm -rf libmyLib.so lib/libmyLib.so lib/mylib.o lib/myLib.a myLib.a myapp logs ## Clean 2 | 3 | compiler=g++ 4 | standard=c++0x ## If this does not work try c++11 (depends on your compiler) 5 | macros="-DELPP_THREAD_SAFE -DELPP_FEATURE_CRASH_LOG" ## Macros for library 6 | 7 | cd lib/ 8 | $compiler mylib.cpp ../../../../src/easylogging++.cc --std=$standard -pipe -fPIC -g -O0 $macros -Iinclude -c 9 | $compiler -fPIC -g -shared -o libmyLib.so mylib.o easylogging++.o 10 | 11 | cp libmyLib.so .. 12 | cd .. 13 | $compiler -g -std=$standard -fPIC -pipe -L lib myapp.cpp ../../../src/easylogging++.cc -Ilib/include -lmyLib -o myapp 14 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/shared-static-libs/compile_static.sh: -------------------------------------------------------------------------------- 1 | rm -rf libmyLib.so lib/libmyLib.so lib/mylib.o lib/myLib.a myLib.a myapp logs ## Clean 2 | 3 | compiler=g++ 4 | standard=c++0x ## If this does not work try c++11 (depends on your compiler) 5 | macros="-DELPP_THREAD_SAFE -DELPP_FEATURE_CRASH_LOG" ## Macros for library 6 | 7 | cd lib/ 8 | $compiler --std=$standard -pipe -fPIC -g -O0 $macros -Iinclude -c mylib.cpp ../../../../src/easylogging++.cc 9 | ar rvs myLib.a mylib.o easylogging++.o 10 | cp myLib.a .. 11 | cd .. 12 | $compiler -g -std=$standard -o myapp myapp.cpp ../../../src/easylogging++.cc -Ilib/include myLib.a 13 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/shared-static-libs/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | # include "../../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | 7 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/shared-static-libs/lib/include/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | # include "../../../../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | 7 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/shared-static-libs/lib/include/mylib.hpp: -------------------------------------------------------------------------------- 1 | //#include "easylogging++.h" 2 | 3 | class MyLib { 4 | public: 5 | MyLib(); 6 | MyLib(int, char**); 7 | ~MyLib(); 8 | void event(int a); 9 | }; 10 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/shared-static-libs/lib/mylib.cpp: -------------------------------------------------------------------------------- 1 | #include "mylib.hpp" 2 | #include "easylogging++.h" 3 | 4 | INITIALIZE_EASYLOGGINGPP 5 | 6 | MyLib::MyLib() { 7 | LOG(INFO) << "---MyLib Constructor () ---"; 8 | } 9 | 10 | MyLib::MyLib(int argc, char** argv) { 11 | START_EASYLOGGINGPP(argc, argv); 12 | LOG(INFO) << "---MyLib Constructor(int, char**) ---"; 13 | } 14 | 15 | MyLib::~MyLib() { 16 | LOG(INFO) << "---MyLib Destructor---"; 17 | } 18 | 19 | 20 | void MyLib::event(int a) { 21 | VLOG(1) << "MyLib::event start"; 22 | LOG(INFO) << "Processing event [" << a << "]"; 23 | VLOG(1) << "MyLib::event end"; 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/shared-static-libs/myapp.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "easylogging++.h" 3 | INITIALIZE_EASYLOGGINGPP 4 | int main(int argc, char** argv) { 5 | int result = 0; 6 | LOG(INFO) << "Log from app"; 7 | // 8 | // You can choose MyLib() constructor 9 | // but be aware this will cause vlog to not work because Easylogging++ 10 | // does not know verbose logging level 11 | // 12 | // For your peace of mind, you may pass on const_cast(argv) instead 13 | // 14 | MyLib lib(argc, argv); 15 | lib.event(1); 16 | return result; 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/smart-pointer-null-check.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Smart pointer null check 4 | // 5 | // Revision 1.0 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | #include 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | int main(void) { 15 | std::unique_ptr test2(new std::string); 16 | CHECK_NOTNULL(test2) << "And I didn't expect this to be null anyway"; 17 | 18 | std::unique_ptr test3; 19 | CHECK_NOTNULL(test3) << "It should crash here"; 20 | 21 | return 0; 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/std-array.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Demonstration of STL array (std::array) logging, this requires ELPP_LOG_STD_ARRAY macro (recommended to define it in Makefile) 4 | // 5 | // Revision 1.1 6 | // @author mkhan3189 7 | // 8 | 9 | #define ELPP_LOG_STD_ARRAY 10 | #include "easylogging++.h" 11 | #include 12 | 13 | INITIALIZE_EASYLOGGINGPP 14 | 15 | int main (void) { 16 | 17 | std::array arr; 18 | arr[0] = 1; 19 | arr[1] = 2; 20 | arr[2] = 3; 21 | arr[3] = 4; 22 | arr[4] = 5; 23 | 24 | LOG(INFO) << arr; 25 | 26 | return 0; 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/syslog.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Syslog sample 4 | // 5 | // Revision 1.0 6 | // @author mkhan3189 7 | // 8 | 9 | #define ELPP_SYSLOG 10 | #include "easylogging++.h" 11 | 12 | INITIALIZE_EASYLOGGINGPP 13 | 14 | int main(void) { 15 | 16 | ELPP_INITIALIZE_SYSLOG("syslog_sample", LOG_PID | LOG_CONS | LOG_PERROR, LOG_USER); 17 | 18 | SYSLOG(INFO) << "My first easylogging++ syslog message"; 19 | 20 | SYSLOG_IF(true, INFO) << "This is conditional info syslog"; 21 | for (int i = 1; i <= 10; ++i) 22 | SYSLOG_EVERY_N(2, INFO) << "This is [" << i << "] iter of SYSLOG_EVERY_N"; 23 | 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/thread-names.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // 4 | // Demo for thread names 5 | // 6 | // Compile: g++ -std=c++11 -Wall -Werror thread-names.cpp -lpthread -o thread-names -DELPP_THREAD_SAFE 7 | // 8 | // Revision 1.0 9 | // @author mkhan3189 10 | // 11 | 12 | #include 13 | #include "easylogging++.h" 14 | 15 | INITIALIZE_EASYLOGGINGPP 16 | 17 | int main(int,char**){ 18 | el::Loggers::reconfigureAllLoggers(el::ConfigurationType::Format, "%datetime [%thread_name] %msg"); 19 | LOG(INFO)<<"The program has started! (no thread name)"; 20 | el::Helpers::setThreadName("main-thread"); 21 | 22 | std::thread thread1([](){ 23 | LOG(INFO) << "Setting thread name for thread1"; 24 | el::Helpers::setThreadName("thread1"); 25 | LOG(INFO) << "Done setting thread name for thread1"; 26 | for (int i = 0; i < 100; ++i) { 27 | LOG(INFO) << "Current i = " << i << " from thread1"; 28 | } 29 | }); 30 | 31 | std::thread thread2([](){ 32 | LOG(INFO) << "Setting thread name for thread2"; 33 | el::Helpers::setThreadName("thread2"); 34 | LOG(INFO) << "Done setting thread name for thread2"; 35 | for (int i = 0; i < 100; ++i) { 36 | LOG(INFO) << "Current i = " << i << " from thread2"; 37 | } 38 | }); 39 | 40 | thread1.join(); 41 | thread2.join(); 42 | 43 | LOG(INFO) << "Shutting down."; 44 | return 0; 45 | } 46 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/timed-block.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // TIMED_BLOCK sample 4 | // 5 | // Revision 1.1 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | int main(int argc, char** argv) { 14 | 15 | START_EASYLOGGINGPP(argc, argv); 16 | 17 | TIMED_BLOCK(t, "my-block") { 18 | for (long i = 0; i <= 300; ++i) { 19 | LOG(INFO) << "This is for-block 1"; 20 | } 21 | t.timer->checkpoint("checkpoint-1"); // Note t.timer to access el::base::Trackable 22 | for (int i = 0; i <= 200; ++i) { 23 | LOG(INFO) << "This is for-block 2"; 24 | } 25 | } 26 | LOG(INFO) << "You should get performance result of above scope"; 27 | 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/timed-scope.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // TIMED_SCOPE sample 4 | // 5 | // Revision 1.0 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | int main(void) { 14 | 15 | { 16 | TIMED_SCOPE(timer, "my-block"); 17 | for (int i = 0; i <= 500; ++i) { 18 | LOG(INFO) << "This is iter " << i; 19 | } 20 | } 21 | LOG(INFO) << "By now, you should get performance result of above scope"; 22 | 23 | return 0; 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/verbose.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of EasyLogging++ samples 3 | // Demonstration of verbose logging 4 | // 5 | // Revision 1.0 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | int main(int argc, char** argv) { 14 | START_EASYLOGGINGPP(argc, argv); 15 | LOG(INFO) << "This is demo for verbose logs"; 16 | VLOG(1) << "This will be printed when program is started using argument --v=1"; 17 | VLOG(2) << "This will be printed when program is started using argument --v=2"; 18 | VLOG(1) << "This will be printed when program is started using argument --v=1"; 19 | VLOG_IF(true, 1) << "Always verbose for level 1"; 20 | 21 | VLOG_EVERY_N(1, 3) << "Verbose every N"; 22 | 23 | VLOG(4) << "Command line arguments provided " << *el::Helpers::commandLineArgs(); 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/STL/very-basic.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // This file is part of Easylogging++ samples 3 | // Very basic sample 4 | // 5 | // Revision 1.2 6 | // @author mkhan3189 7 | // 8 | 9 | #include "easylogging++.h" 10 | 11 | INITIALIZE_EASYLOGGINGPP 12 | 13 | int main(void) { 14 | 15 | LOG(INFO) << "My first ultimate log message"; 16 | 17 | LOG(INFO) << "This" << "is" << "log" << "without" << "spaces"; 18 | el::Loggers::addFlag(el::LoggingFlag::AutoSpacing); 19 | LOG(INFO) << "This" << "is" << "log" << "with" << "spaces"; 20 | return 0; 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32/.vs/VCPP2015_Win32/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rflament/loggedfs/82aba9a93489797026ad1a37b637823ece4a7093/vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32/.vs/VCPP2015_Win32/v14/.suo -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32/VCPP2015_Win32.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VCPP2015_Win32", "VCPP2015_Win32\VCPP2015_Win32.vcxproj", "{4C0F17F0-D696-446B-8471-1D94E75C63DC}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Debug|x64.ActiveCfg = Debug|x64 17 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Debug|x64.Build.0 = Debug|x64 18 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Debug|x86.ActiveCfg = Debug|Win32 19 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Debug|x86.Build.0 = Debug|Win32 20 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Release|x64.ActiveCfg = Release|x64 21 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Release|x64.Build.0 = Release|x64 22 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Release|x86.ActiveCfg = Release|Win32 23 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32/VCPP2015_Win32/VCPP2015_Win32.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | 26 | 27 | Header Files 28 | 29 | 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32/VCPP2015_Win32/VCPP2015_Win32.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32/VCPP2015_Win32/easylogging++.cpp: -------------------------------------------------------------------------------- 1 | #include "../../../../src/easylogging++.cc" -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32/VCPP2015_Win32/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32/VCPP2015_Win32/main.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of Easylogging++ samples 3 | * Demonstration of simple VC++ project. 4 | * 5 | * PLEASE NOTE: We have ELPP_FEATURE_PERFORMANCE_TRACKING preprocessor defined in project settings 6 | * Otherwise we will get linker error 7 | * 8 | * Revision: 1.1 9 | * @author mkhan3189 10 | */ 11 | #include "easylogging++.h" 12 | 13 | INITIALIZE_EASYLOGGINGPP 14 | 15 | TIMED_SCOPE(appTimer, "myapplication"); 16 | 17 | int main() { 18 | 19 | LOG(INFO) << "Starting..."; 20 | el::Loggers::removeFlag(el::LoggingFlag::AllowVerboseIfModuleNotSpecified); 21 | 22 | { 23 | TIMED_SCOPE(tmr, "write-simple"); 24 | LOG(INFO) << "Test " << __FILE__; 25 | } 26 | 27 | VLOG(3) << "Test verbose"; 28 | system("pause"); 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32_Multithreaded/.vs/VCPP2015_Win32/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rflament/loggedfs/82aba9a93489797026ad1a37b637823ece4a7093/vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32_Multithreaded/.vs/VCPP2015_Win32/v14/.suo -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32_Multithreaded/VCPP2015_Win32.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VCPP2015_Win32", "VCPP2015_Win32\VCPP2015_Win32.vcxproj", "{4C0F17F0-D696-446B-8471-1D94E75C63DC}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Debug|x64.ActiveCfg = Debug|x64 17 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Debug|x64.Build.0 = Debug|x64 18 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Debug|x86.ActiveCfg = Debug|Win32 19 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Debug|x86.Build.0 = Debug|Win32 20 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Release|x64.ActiveCfg = Release|x64 21 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Release|x64.Build.0 = Release|x64 22 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Release|x86.ActiveCfg = Release|Win32 23 | {4C0F17F0-D696-446B-8471-1D94E75C63DC}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32_Multithreaded/VCPP2015_Win32/VCPP2015_Win32.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | 26 | 27 | Header Files 28 | 29 | 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32_Multithreaded/VCPP2015_Win32/easylogging++.cc: -------------------------------------------------------------------------------- 1 | #include "../../../../src/easylogging++.cc" -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/VC++/VCPP2015_Win32_Multithreaded/VCPP2015_Win32/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/async/.gitignore: -------------------------------------------------------------------------------- 1 | prog 2 | logs/* 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/async/build.sh: -------------------------------------------------------------------------------- 1 | compiler=$1 2 | macros="" 3 | macros="$macros -DELPP_FEATURE_ALL" 4 | if [ "$compiler" = "icpc" ];then 5 | macros="$macros -DELPP_NO_SLEEP_FOR" 6 | fi 7 | echo "$compiler prog.cpp easylogging++.cc -DELPP_EXPERIMENTAL_ASYNC $macros -std=c++11 -lpthread -o prog" 8 | $compiler prog.cpp easylogging++.cc -DELPP_EXPERIMENTAL_ASYNC $macros -std=c++11 -lpthread -o prog 9 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/async/easylogging++.cc: -------------------------------------------------------------------------------- 1 | #include "../../src/easylogging++.cc" 2 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/async/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/async/mymath.h: -------------------------------------------------------------------------------- 1 | #include "easylogging++.h" 2 | 3 | class MyMath { 4 | public: 5 | static int sum(int a, int b) { 6 | LOG(INFO) << "Adding " << a << " and " << b; 7 | return a + b; 8 | } 9 | }; 10 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/async/prog.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "easylogging++.h" 3 | #include "mymath.h" 4 | 5 | INITIALIZE_EASYLOGGINGPP 6 | 7 | TIMED_SCOPE(benchmark, "benchmark-program"); 8 | 9 | int main(int argc, char *argv[]) 10 | { 11 | // ELPP_INITIALIZE_SYSLOG("my_proc", LOG_PID | LOG_CONS | LOG_PERROR, LOG_USER); 12 | el::Loggers::reconfigureAllLoggers(el::ConfigurationType::ToStandardOutput, "false"); 13 | TIMED_BLOCK(loggingPerformance, "benchmark-block") { 14 | el::base::SubsecondPrecision ssPrec(3); 15 | std::cout << "Starting program " << el::base::utils::DateTime::getDateTime("%h:%m:%s", &ssPrec) << std::endl; 16 | int MAX_LOOP = 1000000; 17 | for (int i = 0; i <= MAX_LOOP; ++i) { 18 | LOG(INFO) << "Log message " << i; 19 | } 20 | int result = MyMath::sum(1, 2); 21 | result = MyMath::sum(1, 3); 22 | 23 | std::cout << "Finished program - cleaning! " << el::base::utils::DateTime::getDateTime("%h:%m:%s", &ssPrec) << std::endl; 24 | } 25 | // SYSLOG(INFO) << "This is syslog - read it from /var/log/syslog"; 26 | 27 | return 0; 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/.gitignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | logs/* 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/build_all.sh: -------------------------------------------------------------------------------- 1 | 2 | # Builds all files into bin/ 3 | 4 | [ -d "bin" ] || mkdir "bin" 5 | rm -rf bin/* 6 | 7 | find . -maxdepth 1 -type f -name '*.cpp' -exec sh compile.sh {} $1 \; 8 | echo "Completed!" 9 | 10 | files=$(ls -l bin/) 11 | if [ "$files" = "total 0" ];then 12 | exit 1 13 | else 14 | exit 0 15 | fi 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/compile.sh: -------------------------------------------------------------------------------- 1 | ## Helper script for build_all.sh 2 | 3 | FILE=$1 4 | 5 | macro="$macro -DELPP_THREAD_SAFE" 6 | macro="$macro -DELPP_STL_LOGGING" 7 | macro="$macro -DELPP_BOOST_LOGGING" 8 | macro="$macro -DELPP_FEATURE_CRASH_LOG" 9 | macro="$macro -DELPP_FEATURE_ALL" 10 | 11 | if [ "$2" = "" ];then 12 | COMPILER=g++ 13 | else 14 | COMPILER=$2 15 | fi 16 | 17 | CXX_STD='-std=c++0x -pthread' 18 | 19 | if [ "$FILE" = "" ]; then 20 | echo "Please provide filename to compile" 21 | exit 22 | fi 23 | 24 | echo "Compiling... [$FILE]" 25 | 26 | COMPILE_LINE="$COMPILER $FILE easylogging++.cc -o bin/$FILE.bin $macro $CXX_STD -Wall -Wextra" 27 | 28 | echo " $COMPILE_LINE" 29 | 30 | $($COMPILE_LINE) 31 | 32 | echo " DONE! [./bin/$FILE.bin]" 33 | echo 34 | echo 35 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/deque.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "easylogging++.h" 4 | 5 | INITIALIZE_EASYLOGGINGPP 6 | 7 | int main(void) { 8 | boost::container::deque d(3, 100); 9 | d.at(1) = 200; 10 | d.at(2) = 20; 11 | LOG(INFO) << d; 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/easylogging++.cc: -------------------------------------------------------------------------------- 1 | #include "../../src/easylogging++.cc" 2 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/list.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "easylogging++.h" 4 | 5 | INITIALIZE_EASYLOGGINGPP 6 | 7 | int main(void) { 8 | boost::container::list l; 9 | l.insert(l.cbegin(), 3); 10 | LOG(INFO) << l; 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/map.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "easylogging++.h" 5 | 6 | INITIALIZE_EASYLOGGINGPP 7 | 8 | int main(void) { 9 | boost::container::map m; 10 | m[0] = 1.0f; 11 | m[5] = 3.3f; 12 | LOG(INFO) << m; 13 | 14 | boost::container::flat_map fm; 15 | fm[1] = 2.5f; 16 | fm[2] = 5.0f; 17 | LOG(INFO) << fm; 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/run.sh: -------------------------------------------------------------------------------- 1 | echo "Running '$1'..." 2 | ./$1 3 | echo "Finished '$1'" 4 | echo 5 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/run_all.sh: -------------------------------------------------------------------------------- 1 | ## Runs all the build binaries from bin/ folder 2 | 3 | find bin/ -name '*.cpp.bin' -exec sh ./run.sh ./{} \; 4 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/set.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "easylogging++.h" 5 | 6 | INITIALIZE_EASYLOGGINGPP 7 | 8 | int main(void) { 9 | boost::container::set s; 10 | s.insert(4); 11 | s.insert(5); 12 | LOG(INFO) << s; 13 | 14 | boost::container::flat_set fs; 15 | fs.insert(1); 16 | fs.insert(2); 17 | LOG(INFO) << fs; 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/string.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "easylogging++.h" 4 | 5 | INITIALIZE_EASYLOGGINGPP 6 | 7 | int main(void) { 8 | boost::container::string s = "This is boost::container::string"; 9 | LOG(INFO) << s; 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/boost/vector.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "easylogging++.h" 5 | 6 | INITIALIZE_EASYLOGGINGPP 7 | 8 | int main(void) { 9 | boost::container::vector v; 10 | v.push_back(2); 11 | LOG(INFO) << v; 12 | 13 | boost::container::stable_vector sv; 14 | sv.push_back(3); 15 | LOG(INFO) << sv; 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/console.conf: -------------------------------------------------------------------------------- 1 | * GLOBAL: 2 | FORMAT = "%msg" 3 | FILENAME = "/tmp/logs/file.log" 4 | ENABLED = true 5 | TO_FILE = false ## Notice this 6 | TO_STANDARD_OUTPUT = true ## Notice this 7 | SUBSECOND_PRECISION = 3 8 | PERFORMANCE_TRACKING = false 9 | MAX_LOG_FILE_SIZE = 2097152 ## Throw log files away after 2MB 10 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/default-logger.conf: -------------------------------------------------------------------------------- 1 | * GLOBAL: 2 | FORMAT = "%datetime | %level | %msg" 3 | FILENAME = "/tmp/logs/myeasylog-configuration.cpp.log" 4 | ENABLED = true 5 | TO_FILE = true 6 | TO_STANDARD_OUTPUT = true 7 | SUBSECOND_PRECISION = 3 8 | PERFORMANCE_TRACKING = false 9 | MAX_LOG_FILE_SIZE = 2097152 ## Throw log files away after 2MB 10 | * DEBUG: 11 | FILENAME = "/tmp/logs/myeasylog-configuration.cpp-debug.log" 12 | TO_STANDARD_OUTPUT = true 13 | ENABLED = true ## We will set it to false after development completed 14 | * WARNING: 15 | FILENAME = "/tmp/logs/filename-with-time-%datetime{%H:%m}" 16 | * TRACE: 17 | TO_FILE = true ## Unnecessary configuration cuz its already true in GLOBAL but doing it anyway! 18 | * VERBOSE: 19 | FORMAT = "%datetime{%d/%M/%y} | %level-%vlevel | %msg" 20 | ## Error logs 21 | * ERROR: 22 | ENABLED = false 23 | FILENAME = "/tmp/logs/myeasylog-configuration.cpp-error.log" 24 | * FATAL: 25 | ENABLED = false 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/file.conf: -------------------------------------------------------------------------------- 1 | * GLOBAL: 2 | FORMAT = "%level %datetime %msg" 3 | FILENAME = "/tmp/logs/file.log" 4 | ENABLED = true 5 | TO_FILE = true ## Notice this 6 | TO_STANDARD_OUTPUT = false ## Notice this 7 | SUBSECOND_PRECISION = 3 8 | PERFORMANCE_TRACKING = false 9 | MAX_LOG_FILE_SIZE = 2097152 ## Throw log files away after 2MB 10 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/global.conf: -------------------------------------------------------------------------------- 1 | ## Comment line 2 | -- default ## Inline Comment 3 | *INFO: 4 | FORMAT = "%level %msg" 5 | FILENAME = "/tmp/logs/wow.log" 6 | *ERROR: 7 | FORMAT = "%levshort %fbase:%line %msg" 8 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/.gitignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | logs/* 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/build_all.sh: -------------------------------------------------------------------------------- 1 | 2 | # Builds all files into bin/ 3 | 4 | [ -d "bin" ] || mkdir "bin" 5 | rm -rf bin/* 6 | 7 | find . -maxdepth 1 -type f -name '*.cpp' -exec sh compile.sh {} $1 \; 8 | echo "Completed!" 9 | 10 | files=$(ls -l bin/) 11 | if [ "$files" = "total 0" ];then 12 | exit 1 13 | else 14 | exit 0 15 | fi 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/compile.sh: -------------------------------------------------------------------------------- 1 | ## Helper script for build_all.sh 2 | 3 | FILE=$1 4 | 5 | macro="$macro -DELPP_THREAD_SAFE" 6 | macro="$macro -DELPP_STL_LOGGING" 7 | macro="$macro -DELPP_FEATURE_CRASH_LOG" 8 | macro="$macro -DELPP_FEATURE_ALL" 9 | 10 | if [ "$2" = "" ];then 11 | COMPILER=g++ 12 | else 13 | COMPILER=$2 14 | fi 15 | 16 | CXX_STD='-std=c++0x -pthread' 17 | 18 | if [ "$FILE" = "" ]; then 19 | echo "Please provide filename to compile" 20 | exit 21 | fi 22 | 23 | echo "Compiling... [$FILE]" 24 | 25 | COMPILE_LINE="$COMPILER $FILE easylogging++.cc `pkg-config --libs --cflags gtkmm-2.4 sigc++-2.0` -o bin/$FILE.bin $macro $CXX_STD -Wall -Wextra -Wundef" 26 | echo " $COMPILE_LINE" 27 | 28 | $($COMPILE_LINE) 29 | 30 | echo " DONE! [./bin/$FILE.bin]" 31 | echo 32 | echo 33 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/easylogging++.cc: -------------------------------------------------------------------------------- 1 | #include "../../src/easylogging++.cc" 2 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/hello_gtkmm/.gitignore: -------------------------------------------------------------------------------- 1 | logs/* 2 | *.bin 3 | 4 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/hello_gtkmm/compile.sh: -------------------------------------------------------------------------------- 1 | ## Helper script for build_all.sh 2 | 3 | macro="$macro -DELPP_THREAD_SAFE" 4 | macro="$macro -DELPP_STL_LOGGING" 5 | macro="$macro -DELPP_FEATURE_CRASH_LOG" 6 | 7 | if [ "$1" = "" ];then 8 | COMPILER=g++ 9 | else 10 | COMPILER=$1 11 | fi 12 | 13 | CXX_STD='-std=c++0x -pthread' 14 | 15 | COMPILE_LINE="$COMPILER *.cc `pkg-config --libs --cflags gtkmm-2.4 sigc++-2.0` -o hello.bin $macro $CXX_STD -Wall -Wextra" 16 | echo " $COMPILE_LINE" 17 | 18 | $($COMPILE_LINE) 19 | 20 | echo 21 | echo 22 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/hello_gtkmm/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/hello_gtkmm/main.cc: -------------------------------------------------------------------------------- 1 | #include "window.h" 2 | #include 3 | #include "easylogging++.h" 4 | 5 | INITIALIZE_EASYLOGGINGPP 6 | 7 | int main (int argc, char** argv) { 8 | START_EASYLOGGINGPP(argc, argv); 9 | el::Loggers::reconfigureAllLoggers(el::Level::Trace, el::ConfigurationType::Format, "%datetime %level Entering [%func]"); 10 | 11 | Gtk::Main kit(argc, argv); 12 | 13 | Window win; 14 | Gtk::Main::run(win); 15 | 16 | return 0; 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/hello_gtkmm/window.cc: -------------------------------------------------------------------------------- 1 | #include "window.h" 2 | #include 3 | #include "easylogging++.h" 4 | 5 | Window::Window() 6 | : m_button("Click Me") { 7 | LOG(TRACE); 8 | 9 | set_border_width(10); 10 | 11 | m_button.signal_clicked().connect(sigc::mem_fun(*this, &Window::on_button_clicked)); 12 | 13 | m_button.show(); 14 | add(m_button); 15 | } 16 | 17 | Window::~Window() { 18 | LOG(TRACE); 19 | } 20 | 21 | void Window::on_button_clicked() { 22 | LOG(TRACE); 23 | LOG(INFO) << "Button has been clicked!"; 24 | } 25 | 26 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/hello_gtkmm/window.h: -------------------------------------------------------------------------------- 1 | #ifndef GTKMM_EXAMPLE_Window_H 2 | #define GTKMM_EXAMPLE_Window_H 3 | 4 | #include 5 | #include 6 | 7 | class Window : public Gtk::Window 8 | { 9 | 10 | public: 11 | Window(); 12 | virtual ~Window(); 13 | 14 | protected: 15 | //Signal handlers: 16 | void on_button_clicked(); 17 | 18 | //Member widgets: 19 | Gtk::Button m_button; 20 | }; 21 | 22 | #endif // GTKMM_EXAMPLE_Window_H 23 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/run.sh: -------------------------------------------------------------------------------- 1 | echo "Running '$1'..." 2 | ./$1 3 | echo "Finished '$1'" 4 | echo 5 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/run_all.sh: -------------------------------------------------------------------------------- 1 | ## Runs all the build binaries from bin/ folder 2 | 3 | find bin/ -name '*.cpp.bin' -exec sh ./run.sh ./{} \; 4 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/sigc++.cpp: -------------------------------------------------------------------------------- 1 | // Easylogging++ sample for libsigc++ 2 | // @author mkhan3189 3 | // @rev 1.0 4 | 5 | #include 6 | #include 7 | #include "easylogging++.h" 8 | 9 | INITIALIZE_EASYLOGGINGPP 10 | 11 | class AsyncConnector { 12 | public: 13 | AsyncConnector() {} 14 | void sendNow(void) { LOG(INFO) << "Sending data..."; sleep(2); sent.emit(); } 15 | sigc::signal received; 16 | sigc::signal sent; 17 | }; 18 | 19 | void dataReceived(void) { 20 | LOG(INFO) << "Async data has been received"; 21 | } 22 | 23 | void dataSent(void) { 24 | LOG(INFO) << "Async data has been sent"; 25 | } 26 | 27 | int main(void) { 28 | AsyncConnector asyncConnection; 29 | asyncConnection.received.connect(sigc::ptr_fun(dataReceived)); 30 | asyncConnection.sent.connect(sigc::ptr_fun(dataSent)); 31 | 32 | asyncConnection.sendNow(); 33 | 34 | return 0; 35 | } 36 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/gtkmm/ustring.cpp: -------------------------------------------------------------------------------- 1 | #include "easylogging++.h" 2 | #include 3 | 4 | INITIALIZE_EASYLOGGINGPP 5 | 6 | int main(int, char**){ 7 | 8 | Glib::ustring s("My GTK"); 9 | LOG(INFO) << s; 10 | 11 | return 0; 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/send-to-network/.gitignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | logs/* 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/send-to-network/README.md: -------------------------------------------------------------------------------- 1 | # Send to Network 2 | 3 | You can use this sample to send your log messages to network as requested by many users. We are not able to add it to the library as this will require some stuffs to choose what network library to use. 4 | 5 | This sample uses `asio` in `boost_system` 6 | 7 | ## Run 8 | 9 | Compile using `compile.sh` file but **make sure you have correct path to boost include and compiled library** 10 | 11 | ``` 12 | mkdir bin 13 | sh compile.sh network-logger.sh 14 | ``` 15 | 16 | Run a server (we are using netcat on mac for test purposes) on a different terminal 17 | 18 | ``` 19 | nc -l 9090 20 | ``` 21 | 22 | Now run `./bin/network-logger` 23 | 24 | 25 | ## More 26 | 27 | You may need `ELPP_NO_LOG_TO_FILE` and `ELPP_NO_DEFAULT_LOG_FILE` depending on your needs. 28 | 29 | Please refer to [doc](https://github.com/muflihun/easyloggingpp#configuration-macros) for further details on macros 30 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/send-to-network/compile.sh: -------------------------------------------------------------------------------- 1 | ## Helper script for build_all.sh 2 | 3 | FILE=$1 4 | 5 | if [ "$2" = "" ];then 6 | COMPILER=g++ 7 | else 8 | COMPILER=$2 9 | fi 10 | 11 | CXX_STD='-std=c++11' 12 | 13 | if [ "$FILE" = "" ]; then 14 | echo "Please provide filename to compile" 15 | exit 16 | fi 17 | 18 | echo "Compiling... [$FILE]" 19 | 20 | COMPILE_LINE="$COMPILER $FILE easylogging++.cc -o bin/$FILE.bin $CXX_STD -std=c++11 -pthread -I /opt/local/include -L/opt/local/lib -lboost_system -Wno-deprecated-declarations" 21 | 22 | echo " $COMPILE_LINE" 23 | 24 | $($COMPILE_LINE) 25 | 26 | echo " DONE! [./bin/$FILE.bin]" 27 | echo 28 | echo 29 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/send-to-network/easylogging++.cc: -------------------------------------------------------------------------------- 1 | #include "../../src/easylogging++.cc" 2 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/send-to-network/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/.gitignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | logs/* 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/build_all.sh: -------------------------------------------------------------------------------- 1 | 2 | # Builds all files into bin/ 3 | 4 | [ -d "bin" ] || mkdir "bin" 5 | rm -rf bin/* 6 | 7 | find . -maxdepth 1 -type f -name '*.cpp' -exec sh compile.sh {} $1 \; 8 | echo "Completed!" 9 | 10 | files=$(ls -l bin/) 11 | if [ "$files" = "total 0" ];then 12 | exit 1 13 | else 14 | exit 0 15 | fi 16 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/compile.sh: -------------------------------------------------------------------------------- 1 | ## Helper script for build_all.sh 2 | 3 | FILE=$1 4 | 5 | macro="$macro -DELPP_THREAD_SAFE" 6 | macro="$macro -DELPP_STL_LOGGING" 7 | macro="$macro -DELPP_WXWIDGETS_LOGGING" 8 | macro="$macro -DELPP_FEATURE_CRASH_LOG" 9 | macro="$macro -DELPP_FEATURE_ALL" 10 | 11 | if [ "$2" = "" ];then 12 | COMPILER=g++ 13 | else 14 | COMPILER=$2 15 | fi 16 | 17 | CXX_STD='-std=c++0x -pthread' 18 | 19 | if [ "$FILE" = "" ]; then 20 | echo "Please provide filename to compile" 21 | exit 22 | fi 23 | 24 | echo "Compiling... [$FILE]" 25 | 26 | COMPILE_LINE="$COMPILER $FILE easylogging++.cc -o bin/$FILE.bin $macro $CXX_STD -Wall -Wextra `wx-config --cppflags` `wx-config --libs`" 27 | 28 | echo " $COMPILE_LINE" 29 | 30 | $($COMPILE_LINE) 31 | 32 | echo " DONE! [./bin/$FILE.bin]" 33 | echo 34 | echo 35 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/easylogging++.cc: -------------------------------------------------------------------------------- 1 | #include "../../src/easylogging++.cc" 2 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for sample that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_SAMPLES_H 3 | #define EASYLOGGING_FOR_SAMPLES_H 4 | #include "../../src/easylogging++.h" 5 | #endif // EASYLOGGING_FOR_SAMPLES_H 6 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/run.sh: -------------------------------------------------------------------------------- 1 | echo "Running '$1'..." 2 | ./$1 3 | echo "Finished '$1'" 4 | echo 5 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/run_all.sh: -------------------------------------------------------------------------------- 1 | ## Runs all the build binaries from bin/ folder 2 | 3 | find bin/ -name '*.cpp.bin' -exec sh ./run.sh ./{} \; 4 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/wxhashmap.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "easylogging++.h" 3 | 4 | INITIALIZE_EASYLOGGINGPP 5 | 6 | WX_DECLARE_STRING_HASH_MAP( wxString, MyHashMap); 7 | 8 | ELPP_WX_HASH_MAP_ENABLED(MyHashMap) 9 | 10 | int main() { 11 | 12 | MyHashMap h1; 13 | h1["Batman"] = "Joker"; 14 | h1["Spiderman"] = "Venom"; 15 | 16 | LOG(INFO) << h1; 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/wxhashset.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "easylogging++.h" 3 | 4 | INITIALIZE_EASYLOGGINGPP 5 | 6 | WX_DECLARE_HASH_SET( int, wxIntegerHash, wxIntegerEqual, IntHashSet ); 7 | WX_DECLARE_HASH_SET( wxString, wxStringHash, wxStringEqual, StringHashSet ); 8 | 9 | ELPP_WX_ENABLED(IntHashSet) 10 | ELPP_WX_ENABLED(StringHashSet) 11 | 12 | int main() { 13 | 14 | IntHashSet h1; 15 | StringHashSet hStr; 16 | 17 | hStr.insert( "foo" ); 18 | hStr.insert( "bar" ); 19 | hStr.insert( "baz" ); 20 | hStr.insert( "bar" ); // Does not add anything! 21 | 22 | LOG(INFO) << hStr; 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/wxlist.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "easylogging++.h" 4 | 5 | INITIALIZE_EASYLOGGINGPP 6 | 7 | WX_DECLARE_LIST(int, MyList); 8 | 9 | WX_DEFINE_LIST(MyList); 10 | 11 | // Following enables MyList to be log-friendly 12 | ELPP_WX_PTR_ENABLED(MyList) 13 | 14 | int main() { 15 | MyList list; 16 | for (int i = 1; i < 110; ++i) 17 | list.Append(new int (i)); 18 | LOG(INFO) << list; 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/wxlonglong.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "easylogging++.h" 3 | 4 | INITIALIZE_EASYLOGGINGPP 5 | 6 | int main() { 7 | wxLongLong l = 264375895; 8 | LOG(INFO) << l; 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/wxstring.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "easylogging++.h" 3 | 4 | INITIALIZE_EASYLOGGINGPP 5 | 6 | int main() { 7 | wxString str = "This is a simple wxString"; 8 | LOG(INFO) << str; 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/samples/wxWidgets/wxvector.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "easylogging++.h" 3 | 4 | INITIALIZE_EASYLOGGINGPP 5 | 6 | int main() { 7 | wxVector vec; 8 | vec.push_back(1); 9 | vec.push_back(2); 10 | LOG(INFO) << vec; 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/.gitignore: -------------------------------------------------------------------------------- 1 | bin/* 2 | logs/* 3 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/.travis_build.sh: -------------------------------------------------------------------------------- 1 | echo "Compiling unit tests..." 2 | clang++ *.cc -lgtest -std=c++11 -lpthread -o unit_test -D_ELPP_DEFAULT_LOG_FILE='"logs/el.gtest.log"' -DELPP_LOGGING_FLAGS_FROM_ARG -DELPP_FEATURE_ALL -Wall -Wextra -pedantic -pedantic-errors -Werror -Wfatal-errors -Wundef -v 3 | echo "Running unit tests..." 4 | ./unit_test -v 5 | result=$? 6 | rm -r unit_test logs 7 | echo "Unit tests completed : $result" 8 | exit $result 9 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/build_and_run.sh: -------------------------------------------------------------------------------- 1 | 2 | # Builds all tests into bin/ and runs 3 | 4 | [ -d "bin" ] || mkdir "bin" 5 | 6 | cd bin 7 | echo "Building..." 8 | g++ ../*.cc -std=c++11 -pthread -lgtest -DELPP_NO_DEFAULT_LOG_FILE -DELPP_FEATURE_ALL -DELPP_LOGGING_FLAGS_FROM_ARG -Wall -Wextra -pedantic -pedantic-errors -Werror -Wfatal-errors -Wundef -o easyloggingpp-test && echo "Running..." && ./easyloggingpp-test -v 9 | cd .. 10 | echo "Completed!" 11 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/custom-format-specifier-test.h: -------------------------------------------------------------------------------- 1 | #ifndef CUSTOM_FORMAT_SPECIFIER_TEST_H 2 | #define CUSTOM_FORMAT_SPECIFIER_TEST_H 3 | 4 | #include "test.h" 5 | 6 | const char* getIp(const el::LogMessage*) { 7 | return "127.0.0.1"; 8 | } 9 | 10 | TEST(CustomFormatSpecifierTest, TestInstall) { 11 | EXPECT_FALSE(el::Helpers::hasCustomFormatSpecifier("%ip")); 12 | el::Helpers::installCustomFormatSpecifier(el::CustomFormatSpecifier("%ip", getIp)); 13 | EXPECT_TRUE(el::Helpers::hasCustomFormatSpecifier("%ip")); 14 | } 15 | 16 | TEST(CustomFormatSpecifierTest, TestResolution) { 17 | Configurations c; 18 | c.setGlobally(el::ConfigurationType::Format, "%datetime{%a %b %d, %H:%m} %ip: %msg"); 19 | el::Loggers::reconfigureLogger(consts::kDefaultLoggerId, c); 20 | LOG(INFO) << "My ip test"; 21 | std::string s = BUILD_STR(getDate() << " 127.0.0.1: My ip test\n"); 22 | EXPECT_EQ(s, tail(1)); 23 | // Reset back 24 | reconfigureLoggersForTest(); 25 | } 26 | 27 | TEST(CustomFormatSpecifierTest, TestUnInstall) { 28 | EXPECT_TRUE(el::Helpers::hasCustomFormatSpecifier("%ip")); 29 | el::Helpers::uninstallCustomFormatSpecifier("%ip"); 30 | EXPECT_FALSE(el::Helpers::hasCustomFormatSpecifier("%ip")); 31 | } 32 | 33 | #endif // CUSTOM_FORMAT_SPECIFIER_TEST_H 34 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/easylogging++.cc: -------------------------------------------------------------------------------- 1 | #include "../src/easylogging++.cc" 2 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/easylogging++.h: -------------------------------------------------------------------------------- 1 | // Header for test that sub-includes original header from src/ folder 2 | #ifndef EASYLOGGING_FOR_TEST_H 3 | #define EASYLOGGING_FOR_TEST_H 4 | 5 | // We define these macros here for travis to pick up 6 | #define ELPP_STOP_ON_FIRST_ASSERTION 7 | #define ELPP_STL_LOGGING 8 | #define ELPP_FORCE_ENV_VAR_FROM_BASH 9 | #define ELPP_ENABLE_THREADING 10 | #define ELPP_FEATURE_CRASH_LOG 11 | #define ELPP_SYSLOG 12 | #include "../src/easylogging++.h" 13 | #endif // EASYLOGGING_FOR_SAMPLES_H 14 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/helpers-test.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef HELPERS_TEST_H_ 3 | #define HELPERS_TEST_H_ 4 | 5 | #include "test.h" 6 | #include 7 | 8 | TEST(HelpersTest, ConvertTemplateToStdString) { 9 | std::vector vecInt; 10 | vecInt.push_back(1); 11 | vecInt.push_back(2); 12 | vecInt.push_back(3); 13 | vecInt.push_back(4); 14 | std::string strVecInt = el::Helpers::convertTemplateToStdString(vecInt); 15 | EXPECT_EQ("[1, 2, 3, 4]", strVecInt); 16 | } 17 | 18 | #endif // HELPERS_TEST_H_ 19 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/macros-test.h: -------------------------------------------------------------------------------- 1 | #ifndef MACROS_TEST_H_ 2 | #define MACROS_TEST_H_ 3 | 4 | #include "test.h" 5 | 6 | TEST(MacrosTest, VaLength) { 7 | EXPECT_EQ(10, el_getVALength("a", "b", "c", "d", "e", "f", "g", "h", "i", "j")); 8 | EXPECT_EQ(9, el_getVALength("a", "b", "c", "d", "e", "f", "g", "h", "i")); 9 | EXPECT_EQ(8, el_getVALength("a", "b", "c", "d", "e", "f", "g", "h")); 10 | EXPECT_EQ(7, el_getVALength("a", "b", "c", "d", "e", "f", "g")); 11 | EXPECT_EQ(6, el_getVALength("a", "b", "c", "d", "e", "f")); 12 | EXPECT_EQ(5, el_getVALength("a", "b", "c", "d", "e")); 13 | EXPECT_EQ(4, el_getVALength("a", "b", "c", "d")); 14 | EXPECT_EQ(3, el_getVALength("a", "b", "c")); 15 | EXPECT_EQ(2, el_getVALength("a", "b")); 16 | EXPECT_EQ(1, el_getVALength("a")); 17 | } 18 | 19 | #endif // MACROS_TEST_H_ 20 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/main.cc: -------------------------------------------------------------------------------- 1 | // gtest based unit tests 2 | 3 | #include "test.h" 4 | 5 | // Included in alphabetical order 6 | 7 | #include "command-line-args-test.h" 8 | #include "configurations-test.h" 9 | #include "custom-format-specifier-test.h" 10 | #include "enum-helper-test.h" 11 | #include "date-utils-test.h" 12 | #include "file-utils-test.h" 13 | #include "format-specifier-test.h" 14 | #include "global-configurations-test.h" 15 | #include "helpers-test.h" 16 | #include "hit-counter-test.h" 17 | #include "log-format-resolution-test.h" 18 | #include "loggable-test.h" 19 | #include "logger-test.h" 20 | #include "macros-test.h" 21 | #include "os-utils-test.h" 22 | #include "plog-test.h" 23 | #include "post-log-dispatch-handler-test.h" 24 | #include "registry-test.h" 25 | #include "strict-file-size-check-test.h" 26 | #include "string-utils-test.h" 27 | #include "syslog-test.h" 28 | #include "typed-configurations-test.h" 29 | #include "utilities-test.h" 30 | #include "verbose-app-arguments-test.h" 31 | #include "write-all-test.h" 32 | 33 | TIMED_SCOPE(testTimer, "Easylogging++ Unit Tests"); 34 | 35 | int main(int argc, char** argv) { 36 | 37 | 38 | testing::InitGoogleTest(&argc, argv); 39 | 40 | ELPP_INITIALIZE_SYSLOG(kSysLogIdent, 0, 0); 41 | 42 | reconfigureLoggersForTest(); 43 | std::cout << "Logs for test are written in [" << logfile << "]" << std::endl; 44 | 45 | return ::testing::UnitTest::GetInstance()->Run(); 46 | } 47 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/os-utils-test.h: -------------------------------------------------------------------------------- 1 | #ifndef OS_UTILS_TEST_H 2 | #define OS_UTILS_TEST_H 3 | 4 | #include "test.h" 5 | 6 | #if ELPP_OS_UNIX 7 | TEST(OSUtilsTest, GetBashOutput) { 8 | const char* bashCommand = "echo 'test'"; 9 | std::string bashResult = OS::getBashOutput(bashCommand); 10 | EXPECT_EQ("test", bashResult); 11 | } 12 | #endif 13 | 14 | TEST(OSUtilsTest, GetEnvironmentVariable) { 15 | std::string variable = OS::getEnvironmentVariable("PATH", "pathResult"); 16 | EXPECT_FALSE(variable.empty()); 17 | } 18 | #endif // OS_UTILS_TEST_H 19 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/plog-test.h: -------------------------------------------------------------------------------- 1 | #ifndef PLOG_TEST_H 2 | #define PLOG_TEST_H 3 | 4 | #include "test.h" 5 | 6 | TEST(PLogTest, WriteLog) { 7 | std::fstream file("/tmp/a/file/that/does/not/exist.txt", std::fstream::in); 8 | if (file.is_open()) { 9 | // We dont expect to open file 10 | FAIL(); 11 | } 12 | PLOG(INFO) << "This is plog"; 13 | std::string expected = BUILD_STR(getDate() << " This is plog: No such file or directory [2]\n"); 14 | std::string actual = tail(1); 15 | EXPECT_EQ(expected, actual); 16 | } 17 | 18 | #endif // PLOG_TEST_H 19 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/post-log-dispatch-handler-test.h: -------------------------------------------------------------------------------- 1 | #ifndef POST_LOG_DISPATCH_HANDLER_TEST_H 2 | #define POST_LOG_DISPATCH_HANDLER_TEST_H 3 | 4 | #include "test.h" 5 | 6 | static std::vector loggedMessages; 7 | 8 | class LogHandler : public el::LogDispatchCallback { 9 | public: 10 | void handle(const LogDispatchData* data) { 11 | loggedMessages.push_back(data->logMessage()->message()); 12 | } 13 | }; 14 | 15 | TEST(LogDispatchCallbackTest, Installation) { 16 | LOG(INFO) << "Log before handler installed"; 17 | EXPECT_TRUE(loggedMessages.empty()); 18 | 19 | // Install handler 20 | Helpers::installLogDispatchCallback("LogHandler"); 21 | LOG(INFO) << "Should be part of loggedMessages - 1"; 22 | EXPECT_EQ(1, loggedMessages.size()); 23 | type::string_t expectedMessage = ELPP_LITERAL("Should be part of loggedMessages - 1"); 24 | EXPECT_EQ(expectedMessage, loggedMessages.at(0)); 25 | } 26 | 27 | TEST(LogDispatchCallbackTest, Uninstallation) { 28 | 29 | // Uninstall handler 30 | Helpers::uninstallLogDispatchCallback("LogHandler"); 31 | LOG(INFO) << "This is not in list"; 32 | EXPECT_EQ(loggedMessages.end(), 33 | std::find(loggedMessages.begin(), loggedMessages.end(), ELPP_LITERAL("This is not in list"))); 34 | } 35 | 36 | #endif // POST_LOG_DISPATCH_HANDLER_TEST_H 37 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/strict-file-size-check-test.h: -------------------------------------------------------------------------------- 1 | #ifndef STRICT_FILE_SIZE_CHECK_TEST_H 2 | #define STRICT_FILE_SIZE_CHECK_TEST_H 3 | 4 | #include "test.h" 5 | 6 | static bool handlerCalled; 7 | 8 | void handler(const char*, std::size_t) { 9 | handlerCalled = true; 10 | } 11 | 12 | TEST(StrictFileSizeCheckTest, HandlerCalled) { 13 | EXPECT_FALSE(handlerCalled); 14 | EXPECT_TRUE(ELPP->hasFlag(LoggingFlag::StrictLogFileSizeCheck)); 15 | 16 | el::Loggers::getLogger("handler_check_logger"); 17 | el::Loggers::reconfigureLogger("handler_check_logger", el::ConfigurationType::Filename, "/tmp/logs/max-size.log"); 18 | el::Loggers::reconfigureLogger("handler_check_logger", el::ConfigurationType::MaxLogFileSize, "100"); 19 | el::Helpers::installPreRollOutCallback(handler); 20 | for (int i = 0; i < 100; ++i) { 21 | CLOG(INFO, "handler_check_logger") << "Test " << i; 22 | } 23 | EXPECT_TRUE(handlerCalled); 24 | } 25 | 26 | #endif // STRICTFILESIZECHECKTEST_H 27 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/test/utilities-test.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef UTILITIES_TEST_H_ 3 | #define UTILITIES_TEST_H_ 4 | 5 | #include "test.h" 6 | 7 | TEST(UtilitiesTest, SafeDelete) { 8 | int* i = new int(12); 9 | ASSERT_TRUE(i != nullptr); 10 | safeDelete(i); 11 | ASSERT_EQ(nullptr, i); 12 | } 13 | 14 | #endif // UTILITIES_TEST_H_ 15 | -------------------------------------------------------------------------------- /vendor/github.com/muflihun/easyloggingpp/tools/.gitignore: -------------------------------------------------------------------------------- 1 | releases/* 2 | latest.zip 3 | --------------------------------------------------------------------------------