CARMA Logging. Marc Pound Doxygen ICD at mpound/carma/loggingapi.html. 1. Introduction
|
|
- Hilda Paul
- 6 years ago
- Views:
Transcription
1 draft February 13, 2003 CARMA Logging Marc Pound Doxygen ICD at mpound/carma/loggingapi.html 1. Introduction CARMA Logging is based on the open source project log4cpp. 1 Log4cpp is intended to be a C++ implementation of the Java log4j package. 2 There are three main classes in log4cpp: Categories, Appenders and Layouts. These three types of components work together to enable logging of messages according to message type and level, and to control at runtime (via a configuration file) how these messages are formatted and where they are reported. Category (now called Logger in log4j) contains the methods the developer will call to push a log message through the system. These methods have names that indicate the priority level of the message passed to them, e.g. info(const string& message), crit(const string& message). Priority levels correspond to the priorities of syslog(3) as given in Table 1. The Appender class indicates the output channel for the message, e.g. syslog, file, rolling file. A Category may have more than one Appender, and Appenders may filter messages based on their priority. The Layout class is simply the output format of the message. Categories follow a named hierarchy, or logging space, that is categorized according to some developerchosen criteria. A category is an ancestor of another category if its name followed by a dot is a prefix of the descendant category name. A category is a parent of a child logger if there are no ancestors between itself and the descendant cateory. For instance, the category named carma.monitor is child of the category named carma. The nice thing is that the developer does not have to do anything to create the hierarchy other than decide where to put the dot. The Category constructor parses the name and inserts the new category in its proper place in the hierarchy. 2. Design For CARMA Logging, the default output channel will be syslog and the default Layout will be CarmaLayout, a subclass of log4cpp::layout. Under normal operation, any CARMA subsystem process can instantiate a Logger object to pass it logging messages to the syslog daemon (syslogd) on the Array Control 1 The log4cpp API is at mpound/carma/log4cpp/html/api. 2 A good description of how log4j and thus log4cpp is intended to work is at You are strongly urged to read this description, since I m not going to repeat it all here. You should also familiarize yourself with syslog(3), syslogd(8), and syslog.conf(5).
2 2 Fig. 1. CARMA Logging via syslog. The subsystem process uses an a Category (Logger) instance to pass messages to the syslog daemon on the computer where the database resides. (The RDBMS work package specifies that the RDBMS will have its own dedicated computer.) The syslog daemon will parcel out the log messages to one or more files on /var/log. A separate process (Syslog2DB) reads the log files asynchronously and stores them in the database.
3 3 Computer (see Figure 1). For development purposes, the local syslog daemon may be may be used. The rules in /etc/syslog.conf will instruct syslogd how to dispose of the messages. A separate process, Syslog2DB, asynchronously reads the syslog files in /var/log and stores them in a database. This design has a number of advantages: 1. It leverages the mature, robust Unix syslog system to handle fundamental logging. 2. Based on logs for January 2003, BIMA generates log messages at an average rate of per 24 hrs. Let s assume CARMA will triple that (about once every 3 seconds). This rate is easily handled by syslog. 3. It does not matter if the RDBMS computer is Solaris or Linux; syslog works cross-platform (I tested this). 4. It does not require development of a database logger under the log4cpp umbrella. 5. Little new C++ code is needed, and the code that is needed is straightforward. 6. A barebones logging system that stops at the syslog level can be operational in short order. Database can be implemented later. 7. Development work can proceed using the syslog facility on the developer s machine. The RDBMS machine is not required. 8. Repeated messages are decimated by the syslog facility, before they get into the database. For debug work, a Logger that writes to a non-system file on the mounted filesystem could also be used. 3. Implementation 3.1. The CARMA Logger The class carma::services::logger has two static methods that return Category instances. The Category class contains the needed methods for logging messages at various priorities (see Table 1). getsyslogger(const string& identity, const string& host, const string& logname) returns a Category reference with a syslog Appender instantiated and attached. The Category is identified by logname and the Appender is identified by identity and host. If the host string passed to getsyslogger is lexically equal (strcmp(3)) to the value returned by gethostbyname(3), the Appender will be a log4cpp::syslogappender, otherwise it will be a log4cpp::remotesyslogappender. This is transparent to the caller. The parameter logname is the hierarchical namespace for the logger that indicates the subsystem under which the current process is running, e.g., carma.monitor.
4 4 getfilelogger(const string& identity, const string& pathname, const string& logname) returns a Category reference with a file Appender instantiated and attached. The parameter identity corresponds to ident in openlog(3) and pathname corresponds to pathname in open(2). For either method call, if and only if all of the passed parameters are the same as those used in a previous call, a reference to the previous Category object is returned if that object still exists. If a previous logname is passed with different identity and host/pathname, rather than replace the Appender or add a new one, an exception will occur. The reason for this is that Appenders should be replaced or added through appropriate use of the addappender() and setadditivity() methods of Category. Examples of syslog and file loggers are shown in the Appendix. An Appender needs a Layout object that tell it how to format the output messages. The default layout, CarmaLayout, consists of a timestamp, the calling program, the logname, the priority level, the nested diagnostic context 3 and the message itself. The class log4cpp::timestamp is not used directly; it is converted to a timestamp related to the carma::util::time class. Currently, the closest frame count to the log4cpp::timestamp that was created with the message is used, but some other timestamp format is possible. (The frame count is the closest half-second since Jan 01, 2002 UT.) The nested diagnostic context is a way to distinguish similar log output from different sources. For instance, each CARMA antenna may be running an instance of a particular program. This program might have the same identity and logname regardless of where it is running. Through proper use the NDC, the exact antenna from which a log message originates may be placed within the message (see example code). In the log4cpp package, it is implemented (log4cpp::ndc) as a simple stack in which the developer pushes or pops messages. Since the NDC is a stack, the developer can push and pop at specific critical locations in the code for a more detailed diagnostic context. The exact format for the CarmaLayout will be defined in a configuration file (a feature supported by log4cpp). The configuration file can define multiple layout styles tuned to different Appenders and Categories. For instance, carma.monitor.* loggers could have a different layout than carma.correlator.* loggers. We may not use this feature, but it is nice to have available. Use of a configuration files also allows reconfiguration without recompilation Syslog configuration The /etc/syslog.conf file is the main configuration file for the syslog daemon which logs system messages on *nix systems. This file specifies rules for logging. Each line in syslog.conf contains a rule and an action for that rule. The rule is made up of a facility and priority indicator. Take, for example, the lines # RULE ACTION 3 See Patterns for Logging Diagnostic Messages by Neil Harrison.
5 5 kern.* kern.crit kern.info;kern.!err /var/adm/kernel-info The first line means all kernel messages get written to /var/adm/kernel, the second means all kernel messages of priority CRITICAL and higher get forwarded to remote host finlandia, and the third means save all kernel messages that come with priorities from INFO up to WARNING in the file /var/adm/kernel-info. In addition to the standard facilities (kern, mail, cron, user, etc), syslog.conf provides 8 facilities local0 through local7 for administrator-defined use. Thus syslog.conf is very flexible, and one can log almost anything at any level of detail. CARMA Logging may use one or more of the local3-local7 facilities (we will leave local0 through local2 for other admin purposes). In the strawman syslog.conf below, we separate out messages from major subsystems. An alternative is to write everything to carma.log and let the database sort it out. Another alternative is to split the logs up by priority level, e.g. all debug messages regardless of origin goes into one file, all infos in another, etc. # # Proposed /etc/syslog.conf entries for CARMA Logging System. # These are in addition to the default system syslog.conf # entries. # $Id: syslog.conf,v /01/13 21:59:06 mpound Exp $ $Date: 2003/01/13 21:59:06 $ # Use "-" preceding file names to omit sync ing after # every write to it. # # Everybody gets emergency messages (via wall) *.=emerg * # local3 catch-all for carma local3.!=debug local3.=debug -/var/log/carma.log /var/log/carma.debug # local4 monitor system local4.!=debug -/var/log/carma.monitor local4.debug /var/log/carma.monitor.debug # local5 correlator local5.!=debug -/var/log/carma.correlator local5.debug /var/log/carma.correlator.debug
6 6 # local6 antenna local6.!=debug -/var/log/carma.antenna local6.debug /var/log/carma.antenna.debug # local7 loberotator local7.!=debug -/var/log/carma.loberotator local7.debug /var/log/carma.loberotator.debug 3.3. Database Writer This section is unfinished until I learn more about databases. But I can state a few things. Syslog2DB should be a daemon. Syslog2DB does not need to run continuously. It can wake up a regular intervals and process any new log messages. If we decide that syslog should redirect messages according to absolute priority (e.g. all debug to one log, all warn to another, etc), then the daemon could check for critical messages more often than non-critical ones. The database table would likely be simple, with columns: Timestamp, Priority, Caller, Logname, NDC, Message. These should be sufficient for system diagnosis. Implementation details depend on which DB we use. Of course we have incanted We will use ODBC but this is not a sufficient specification. For instance, MySql and Postgres each have their own ODBC libraries/frontends. Syslog2DB could be written in Perl which is geared for text-processing. 4. Larger Issues to be Resolved 1. What exactly will the CARMA timestamp format be? Will CARMA have one and only one format? I think it makes sense to use a single format for a timestamp associated with any data storage. Applications that desire other formats can generate them on the fly with methods provided by carma::util::time. 2. What will the CARMA database vendor be? Illinois currently uses Postgres and has a lot of experience with it. The NOAO proposal system that we proposed to adopt in the long term uses MySql. 3. We need a general policy for daemons that we write. PJT and MWP suggest they all go in /etc/init.d, follow the init.d [start stop restart] scripting interface, and use the standard Unix rcn.d protocol for starting at the appropriate run level.
7 7 Table 1. Syslog priority levels. Level Meaning log4cpp::category method EMERG system is unusable emerg(const string&) ALERT action must be taken immediately alert(const string&) CRIT critical conditions crit(const string&) ERR error conditions error(const string&) WARNING warning conditions warn(const string&) NOTICE normal but significant condition notice(const string&) INFO informational info(const string&) DEBUG debug-level messages debug(const string&)
8 8 A. Example Usage A.1. Logging to Syslog /** * $Id: Log2Syslog.cc,v /02/12 22:56:32 mpound Exp $ * Example usage of CARMA logging to syslog. Log2Syslog.cc Marc Pound */ #include "CarmaLogger.h" using log4cpp; int main(int argc, char* argv[]) { // I think every program should define this. string progname = "Antenna Calibrator Control"; // Get a reference to a Category (Logger) object, assigning it the // name of the calling program, the computer on which the // syslogd is running, and a hierarchical namespace for // this Logger. The layout will already be set to CarmaLayout and // the appender additivity will be set to false. Category& mylogger = carma::services::logger.getsyslogger( progname, "rdbms.mmarray.org", "carma.antenna.control"); // Push the diagnostic context of this program on the // NDC stack. I ve just made up this config call, but // note the NDC is obtained in an antenna-independent way. string whoami = carma::util::config.getconfiguration().getantennaname(); NDC::push(whoami); // Set up the priority for the Category, in this example // the INFO priority (so attempts to log DEBUG messages // will fail, since DEBUG is lower priority than INFO.) mylogger.setpriority(priority::info);
9 9 // Log an info message. mylogger.info("information is a good thing."); // You can also use the stream methods, but be sure to // to include a Priority level (runtime error if absent). std::string message = "I ll be gone "; int value = 500; mylogger << Priority::WARN << message << value << " miles when the day is done."; // Log an emergency message. mylogger.emerg("abandon ship!"); } // Clean up and flush all appenders mylogger.shutdown(); return 0;
10 10 A.2. Logging to a File /** * $Id: Log2File.cc,v /02/12 22:56:32 mpound Exp $ * Example usage of log4cpp logging to a (local) file. Log2File.cc Marc Pound */ #include "CarmaLogger.h" using namespace std; using namespace log4cpp; int main(int argc, char* argv[]) { // I think every program should define this. string progname = "Antenna Calibrator Control"; // Get a reference to a Category (Logger) object, assigning it the // name of the calling program, the output file, and the // a hierarchical namespace for this Logger. // The layout will already be set to CarmaLayout and // the appender additivity will be set to false. Category& mylogger = carma::services::logger.getfilelogger( "Antenna Control Program", "/home/mpound/acp.log", "carma.antenna.control"); // Push the diagnostic context of this program on the // NDC stack. I ve just made up this config call, but // note the NDC is obtained in an antenna-independent way. string whoami = carma::util::config.getconfiguration().getantennaname(); NDC::push(whoami); // Allow messages of DEBUG level and above to be passed // to appenders. But set the FileAppender s threshold to // INFO. mylogger.setpriority(priority::debug); mylogger.getappender("antenna Control Program")->setThreshold(Priority::INFO);
11 11 // Here we will be tricky and add another appender to the // Category. The second appender will be an output stream // appender that will catch DEBUG and above messages, while // the FileAppender instantiated as part of mylogger catches // INFO priority and above. Ideally, we d like a log4cpp analog // of log4j s LevelRangeFilter, which would allow us to // catch ONLY debug messages in the OstreamAppender. I will // likely build this eventually. OstreamAppender* osappender = new OstreamAppender("Antenna Control Debug", &cout); osappender->setthreshold(priority::debug); // An Appender when added to Category becomes an additional output // destination unless additivity is set to false. When it is false, // the appender added to the category replaces all previously // existing appenders. Make mylogger accept multiple appenders. mylogger.setadditivity(true); // A side-effect of setting additivity to true is that the // root appender of the Category (every Category has a default // root appender) will get passed the messages. The root appender // appends to stderr, which is annoying. So we remove the // root appender. mylogger.getroot().removeallappenders(); // Instantiate a layout will tells how to format the output stream file. // In this example, we use a layout that comes predefined with // log4cpp. The log4cpp::basiclayout includes a simple timestamp. Layout* layout = new BasicLayout(); // Attach the layout object to ostream appender // and add it to mylogger. osappender->setlayout(layout); mylogger.addappender(osappender); // Log an info message. This will go only to the output file. mylogger.info("information is a good thing."); // Debug messages will go only to output stream appender. mylogger.debug("you are surrounded by twisty little passages, all alike.");
12 12 // You can also use the stream methods, but be sure to // to include a Priority level (runtime error if absent). std::string message = "I ll be gone "; int value = 500; mylogger << Priority::WARN << message << value << " miles when the day is done."; // Log an emergency message. mylogger.emerg("abandon ship!"); } // Clean up and flush all appenders mylogger.shutdown(); return 0;
External Alerting for Intrusion Events
The following topics describe how to configure external alerting for intrusion events: About, page 1 Configuring SNMP Alerting for Intrusion Events, page 2 Configuring Syslog Alerting for Intrusion Events,
More informationExternal Alerting with Alert Responses
The following topics describe how to send external event alerts from the Firepower Management Center using alert responses: Firepower Management Center Alert Responses, page 1 Creating an SNMP Alert Response,
More informationServices, logging, accounting Todd Kelley CST8177 Todd Kelley 1
Services, logging, accounting Todd Kelley kelleyt@algonquincollege.com CST8177 Todd Kelley 1 services syslog logger command line utility psacct lastcomm ac, last, lastlog 2 chkconfig vs service (review)
More informationSyslog Server Configurations
Syslog Server Configurations 2 Syslog Server Configurations This application note describes the configuration and setup of a syslog server for use with the EdgeWave eprism mail exchanger. This scenario
More informationConfiguring System Message Logging
58 CHAPTER This chapter describes how to configure system message logging on the Catalyst 4500 series switch. This chapter consists of these sections: About System Message Logging, page 58-1, page 58-2
More informationConfiguring System Message Logging
This chapter describes how to configure system message logging on Cisco NX-OS devices. This chapter contains the following sections: About System Message Logging, page 1 Licensing Requirements for System
More informationRSA NetWitness Logs. IBM AIX Last Modified: Thursday, November 2, Event Source Log Configuration Guide
RSA NetWitness Logs Event Source Log Configuration Guide IBM AIX Last Modified: Thursday, November 2, 2017 Event Source Product Information: Vendor: IBM Event Source: AIX Versions: 5L (Security and Authentication
More informationChapter. Basic Administration. Secrets in This Chapter. Monitoring the System Viewing Log Files Managing Services and Programs Monitoring Disk Usage
Basic Administration Chapter 18 Secrets in This Chapter Monitoring the System Viewing Log Files Managing Services and Programs Monitoring Disk Usage 95080c18.indd 425 2/17/09 1:24:15 AM 426 Part 3: Managing
More informationConfiguring System Message Logging
CHAPTER 31 This chapter describes how to configure system message logging on the Catalyst 3560 switch. Note For complete syntax and usage information for the commands used in this chapter, see the Cisco
More informationConfiguring System Message Logs
Information About, on page 1 How to Configure System Message Logs, on page 4 Monitoring and Maintaining System Message Logs, on page 12 Configuration Examples for System Message Logs, on page 12 Additional
More informationConfiguring System Message Logging
CHAPTER 14 This chapter describes how to configure system message logging on the Cisco MDS 9020 Fabric Switch. It includes the following sections: About System Message Logging, page 14-1 System Message
More informationConfiguring System Message Logs
Finding Feature Information, on page 1 Restrictions for, on page 1 Information About, on page 2 How to Configure System Message Logs, on page 4 Monitoring and Maintaining System Message Logs, on page 12
More informationsimplevisor Documentation
simplevisor Documentation Release 1.2 Massimo Paladin June 27, 2016 Contents 1 Main Features 1 2 Installation 3 3 Configuration 5 4 simplevisor command 9 5 simplevisor-control command 13 6 Supervisor
More informationConfiguring System Message Logging
This chapter contains the following sections: Information About System Message Logging, page 1 Licensing Requirements for System Message Logging, page 2 Guidelines and Limitations for System Message Logging,
More informationCIT 470: Advanced Network and System Administration. Topics. System Logs. Logging
CIT 470: Advanced Network and System Administration Logging CIT 470: Advanced Network and System Administration Slide #1 1. System logs 2. Logging policies 3. Finding logs 4. Syslog 5. Syslog servers 6.
More informationConfiguring System Message Logs
Restrictions for, page 1 Information About, page 1 How to Configure System Message Logs, page 4 Monitoring and Maintaining System Message Logs, page 13 Configuration Examples for System Message Logs, page
More informationConfiguring System Message Logs
Finding Feature Information, page 1 Restrictions for, page 1 Information About, page 2 How to Configure System Message Logs, page 5 Monitoring and Maintaining System Message Logs, page 13 Configuration
More informationCenterity Monitor. Technical Guide: Syslog Configuration VERSION 4
Centerity Monitor Technical Guide: Syslog Configuration VERSION 4 Forwarding Syslog Messages to Centerity Server 2 Forwarding Syslog Messages to Centerity Server Syslog messages can be monitored by Centerity
More informationRSYSLOGD(8) Linux System Administration RSYSLOGD(8)
NAME rsyslogd reliable and extended syslogd SYNOPSIS rsyslogd [ 4 ][ 6 ][ A ][ d ][ D ][ f config file ] [ i pid file ][ l hostlist ][ n ][ N level ] [ q ][ Q ][ s domainlist ][ u userlevel ][ v ][ w ][
More informationSAS Viya 3.4 Administration: Logging
SAS Viya 3.4 Administration: Logging Logging: Overview............................................................................. 1 Logging: How To...............................................................................
More informationLogging. About Logging. This chapter describes how to log system messages and use them for troubleshooting.
This chapter describes how to log system messages and use them for troubleshooting. About, page 1 Guidelines for, page 7 Configure, page 8 Monitoring the Logs, page 26 History for, page 29 About System
More informationUtilities. Introduction. Working with SCE Platform Files. Working with Directories CHAPTER
CHAPTER 4 Revised: September 27, 2012, Introduction This chapter describes the following utilities: Working with SCE Platform Files, page 4-1 The User Log, page 4-5 Managing Syslog, page 4-8 Flow Capture,
More informationUsing Debug Commands
Using Debug Commands This chapter explains how you use debug commands to diagnose and resolve internetworking problems. Specifically, it covers the following topics: Entering debug commands Using the debug?
More informationConfiguring System Message Logging
CHAPTER 3 This chapter describes how to configure system message logging on Cisco MDS 9000 Family switches. It includes the following sections: About System Message Logging, page 3-1 System Message Logging
More informationCounterACT Syslog Plugin
Version 3.2.0 Table of Contents About the Syslog Plugin... 3 Multiple Destination Syslog Server Support... 3 Receiving Event Messages... 3 Sending Syslog Messages... 4 Sending CounterACT Event Messages...
More informationLogs and troubleshooting
HP OO 10 Community Content Logs and troubleshooting This document brings logs related information which will assist you in troubleshooting your HP OO configuration. It answers the following questions:
More informationRob Prouse
Rob Prouse rob@prouse.org http://www.alteridem.net Fast and flexible Hierarchical, named logging categories Multiple logging levels Output to multiple logging targets Dynamic XML Configuration Thread Safe
More informationConfiguring System Message Logging
CHAPTER 3 This chapter describes how to configure system message logging on Cisco DCNM-SAN. It includes the following sections: Information About System Message Logging, page 3-1 Guidelines and Limitations,
More informationBasic UNIX system administration
Basic UNIX system administration CS 2204 Class meeting 14 *Notes by Doug Bowman and other members of the CS faculty at Virginia Tech. Copyright 2001-2003. System administration Thus far, we ve only discussed:
More informationStarting to Program in C++ (Basics & I/O)
Copyright by Bruce A. Draper. 2017, All Rights Reserved. Starting to Program in C++ (Basics & I/O) On Tuesday of this week, we started learning C++ by example. We gave you both the Complex class code and
More informationMonitoring VMWare ESX Server On Microsoft System Center Operations Manager 2007
Monitoring VMWare ESX Server On Microsoft System Center Operations Manager 2007 Version 2.2 Date: 10 th September 2007 Writer: Jonathan Hambrook Email: stockmansridge@gmail.com Blog: http://opsmgr.wordpress.com
More informationCS 221 Review. Mason Vail
CS 221 Review Mason Vail Inheritance (1) Every class - except the Object class - directly inherits from one parent class. Object is the only class with no parent. If a class does not declare a parent using
More informationLab#5 Due Wednesday, February 25, at the start of class. Purpose: To develop familiarity with C++ pointer variables
Lab#5 Due Wednesday, February 25, at the start of class Purpose: To develop familiarity with C++ pointer variables Introduction: In this lab, you will learn by experimentation the answers to some questions
More informationOne Pager: GlassFish v3 Logging
One Pager: GlassFish v3 Logging Table of Contents 1. Introduction 1.1 Project/Component Working Name 1.2 Name(s) and e-mail address of Document Author(s)/Supplier 1.3. Date of This Document 2. Project
More informationLab: Supplying Inputs to Programs
Steven Zeil May 25, 2013 Contents 1 Running the Program 2 2 Supplying Standard Input 4 3 Command Line Parameters 4 1 In this lab, we will look at some of the different ways that basic I/O information can
More informationADVANCED OPERATING SYSTEMS
ADVANCED OPERATING SYSTEMS UNIT I INTRODUCTION TO UNIX/LINUX KERNEL BY MR.PRASAD SAWANT Prof.Prasad Sawant,Assitiant Professor,Dept. Of CS PCCCS PREREQUISITES: 1. Working knowledge of C programming. 2.
More informationAdvanced Linux System Administra3on
Advanced Linux System Administra3on Subject 9. Logging Pablo Abad Fidalgo José Ángel Herrero Velasco Departamento de Ingeniería Informá2ca y Electrónica Este tema se publica bajo Licencia: Crea2ve Commons
More informationConfiguring Logging. Information About Logging CHAPTER
74 CHAPTER This chapter describes how to configure and manage logs for the ASA, and includes the following sections: Information About Logging, page 74-1 Licensing Requirements for Logging, page 74-5 Prerequisites
More informationLog4C Developers Guide
Log4C Developers Guide 1.0.6 13 Nov 2006 First Draft: pulls together information from README files and various 'how to ' documents for Log4C. This document is started between the release of Log4C 1.1.0
More informationForescout. Configuration Guide. Version 3.5
Forescout Version 3.5 Contact Information Forescout Technologies, Inc. 190 West Tasman Drive San Jose, CA 95134 USA https://www.forescout.com/support/ Toll-Free (US): 1.866.377.8771 Tel (Intl): 1.408.213.3191
More informationUNIX System Administration
$!... 14:13 $$... 14:13.netrc...12:27-28 /etc/fstab... 6:25 /etc/hosts.equiv... 8:23 /etc/inittab Entries... 4:8 /etc/netmasks... 8:22 /etc/shells... 12:25 /home... 6:69 /tmp...6:61-67 /usr... 6:70 /var...
More informationC++ Namespaces, Exceptions
C++ Namespaces, Exceptions CSci 588: Data Structures, Algorithms and Software Design http://www.cplusplus.com/doc/tutorial/namespaces/ http://www.cplusplus.com/doc/tutorial/exceptions/ http://www.cplusplus.com/doc/tutorial/typecasting/
More informationLog4s A Logging Framework for Smalltalk
Log4s A Logging Framework for Smalltalk Donald MacQueen [ ] Instantiations, Inc. Infrastructure Logging Framework Problem: The product currently contains many one-off logging solutions, but no centralized
More information14. INDEX. BasicConfigurator configure method, 16, 43 using, Binary compatibility, 188 Buffered I/O, 95, 98 Buffered IO, 98 Building log4j, 17
14. INDEX A ACCEPT, 140 Adding appenders. See Logger adding appenders Additivity. See Appender additivity ALL level, 24 Ant. See Building log4j Apache Software License, 196 Appender, 31 34, 31 34, 91 128
More informationUser Interface: Layout. Asst. Prof. Dr. Kanda Runapongsa Saikaew Computer Engineering Khon Kaen University
User Interface: Layout Asst. Prof. Dr. Kanda Runapongsa Saikaew Computer Engineering Khon Kaen University http://twitter.com/krunapon Agenda User Interface Declaring Layout Common Layouts User Interface
More informationNever Lose a Syslog Message
Never Lose a Syslog Message Alexander Bluhm bluhm@openbsd.org September 24, 2017 Agenda 1 Motivation 2 Starting Position 3 Local Improvements 4 Remote Logging 5 Conclusion Why reliable logging? system
More informationHPE Security ArcSight Connectors
HPE Security ArcSight Connectors SmartConnector for Barracuda Firewall NG F- Series Syslog Configuration Guide October 17, 2017 Configuration Guide SmartConnector for Barracuda Firewall NG F-Series Syslog
More informationsyslog: The UNIX System Logger
1. Introduction 2150 John Fenwick Development Engineer Enterprise Systems Division Hewlett-Packard Company Cupertino, California USA fenwick@cup.hp.com Tel. 408-447-4976 syslog is a powerful and easily
More informationCreating a Shell or Command Interperter Program CSCI411 Lab
Creating a Shell or Command Interperter Program CSCI411 Lab Adapted from Linux Kernel Projects by Gary Nutt and Operating Systems by Tannenbaum Exercise Goal: You will learn how to write a LINUX shell
More informationOracle WebLogic Server
Oracle WebLogic Server Configuring Log Files and Filtering Log Messages 10g Release 3 (10.3) July 2008 Oracle WebLogic Server Configuring Log Files and Filtering Log Messages, 10g Release 3 (10.3) Copyright
More informationC++ Lab 02 - Command Line Arguments and Strings
C++ Lab 02 - Command Line Arguments and Strings 2.680 Unmanned Marine Vehicle Autonomy, Sensing and Communications Spring 2015 Michael Benjamin, mikerb@mit.edu Department of Mechanical Engineering Computer
More informationCSE 410: Computer Systems Spring Processes. John Zahorjan Allen Center 534
CSE 410: Computer Systems Spring 2018 Processes John Zahorjan zahorjan@cs.washington.edu Allen Center 534 1. What is a process? Processes 2. What's the process namespace? 3. How are processes represented
More informationSupporting Class / C++ Lecture Notes
Goal Supporting Class / C++ Lecture Notes You started with an understanding of how to write Java programs. This course is about explaining the path from Java to executing programs. We proceeded in a mostly
More information377 Student Guide to C++
377 Student Guide to C++ c Mark Corner January 21, 2004 1 Introduction In this course you will be using the C++ language to complete several programming assignments. Up to this point we have only provided
More informationCS 4410, Fall 2017 Project 1: My First Shell Assigned: August 27, 2017 Due: Monday, September 11:59PM
CS 4410, Fall 2017 Project 1: My First Shell Assigned: August 27, 2017 Due: Monday, September 11th @ 11:59PM Introduction The purpose of this assignment is to become more familiar with the concepts of
More informationThe Linux IPL Procedure
The Linux IPL Procedure SHARE - Tampa February 13, 2007 Session 9274 Edmund MacKenty Rocket Software, Inc. Purpose De-mystify the Linux boot sequence Explain what happens each step of the way Describe
More informationIntroduction to C++ (Extensions to C)
Introduction to C++ (Extensions to C) C is purely procedural, with no objects, classes or inheritance. C++ is a hybrid of C with OOP! The most significant extensions to C are: much stronger type checking.
More informationG52CPP C++ Programming Lecture 17
G52CPP C++ Programming Lecture 17 Dr Jason Atkin http://www.cs.nott.ac.uk/~jaa/cpp/ g52cpp.html 1 Last Lecture Exceptions How to throw (return) different error values as exceptions And catch the exceptions
More informationRedwood.log( Hello World! );
Redwood Tutorial Quick Start Code import edu.stanford.nlp.util.logging.* StanfordRedwoodConfiguration.setup(); Redwood.log( Hello World! ); >> Hello World! Output Main Ideas We use logging to trace code
More informationCSCI Computer Systems Fundamentals Shell Lab: Writing Your Own Unix Shell
CSCI 6050 - Computer Systems Fundamentals Shell Lab: Writing Your Own Unix Shell Introduction The purpose of this assignment is to become more familiar with the concepts of process control and signalling.
More informationChapter 1: Object-Oriented Programming Using C++
Chapter 1: Object-Oriented Programming Using C++ Objectives Looking ahead in this chapter, we ll consider: Abstract Data Types Encapsulation Inheritance Pointers Polymorphism Data Structures and Algorithms
More informationFiles and the Filesystems. Linux Files
Files and the Filesystems Linux Files The file is the most basic and fundamental abstraction in Linux. Linux follows the everything-is-a-file philosophy. Consequently, much interaction occurs via reading
More informationCS 251 INTERMEDIATE SOFTWARE DESIGN SPRING C ++ Basics Review part 2 Auto pointer, templates, STL algorithms
CS 251 INTERMEDIATE SOFTWARE DESIGN SPRING 2011 C ++ Basics Review part 2 Auto pointer, templates, STL algorithms AUTO POINTER (AUTO_PTR) //Example showing a bad situation with naked pointers void MyFunction()
More information1/29/2011 AUTO POINTER (AUTO_PTR) INTERMEDIATE SOFTWARE DESIGN SPRING delete ptr might not happen memory leak!
//Example showing a bad situation with naked pointers CS 251 INTERMEDIATE SOFTWARE DESIGN SPRING 2011 C ++ Basics Review part 2 Auto pointer, templates, STL algorithms void MyFunction() MyClass* ptr( new
More informationSYSLOG and SUPERVISOR S WORKSHOP Knowledge Module for PATROL - Data Sheet Version Made by AXIVIA Conseil
SYSLOG and SUPERVISOR S WORKSHOP Knowledge Module for PATROL - Data Sheet Version 1.6.01 Made by http://www.axivia.com/ SUMMARY SYSLOG and SUPERVISOR S WORKSHOP Knowledge Module for PATROL integrates a
More information6.096 Introduction to C++
MIT OpenCourseWare http://ocw.mit.edu 6.096 Introduction to C++ January (IAP) 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 6.096 Lecture 3 Notes
More informationConfiguring System Message Logging
CHAPTER 1 This chapter describes how to configure system message logging on the Cisco 4700 Series Application Control Engine (ACE) appliance. Each ACE contains a number of log files that retain records
More informationCS 550 Operating Systems Spring Process II
CS 550 Operating Systems Spring 2018 Process II 1 Recap: Process Informal definition: A process is a program in execution. Process is not the same as a program. Program is a passive entity stored in the
More informationGetting Started User s Guide
Getting Started User s Guide Savision iq V2.3 Contents 1. Introduction... 4 1.1 About this Guide... 4 1.2 Understanding Savision iq... 4 2. First Run Experience... 4 2.1 Adding the License Key... 5 2.2
More informationLinux Systems Security. Logging and Network Monitoring NETS1028 Fall 2016
Linux Systems Security Logging and Network Monitoring NETS1028 Fall 2016 Monitoring Monitoring can take many forms, from passive periodic inspection to realtime intrusion detection For this unit, we will
More informationPointers and References
Steven Zeil October 2, 2013 Contents 1 References 2 2 Pointers 8 21 Working with Pointers 8 211 Memory and C++ Programs 11 212 Allocating Data 15 22 Pointers Can Be Dangerous 17 3 The Secret World of Pointers
More informationAdvanced patching of SUSE Linux Enterprise Server 10 with ZENworks Linux Management 7.2
SUSE LINUX Enterprise Server 10 www.novell.com Advanced patching of SUSE Linux Enterprise Server 10 with ZENworks Linux Management 7.2 Version 0.1 Disclaimer Novell, Inc. makes no representations or warranties
More informationG54ADM Sample Exam Questions and Answers
G54ADM Sample Exam Questions and Answers Question 1 Compulsory Question (34 marks) (a) i. Explain the purpose of the UNIX password file. (2 marks) ii. Why doesn t the password file contain passwords? (2
More informationIII. Classes (Chap. 3)
III. Classes III-1 III. Classes (Chap. 3) As we have seen, C++ data types can be classified as: Fundamental (or simple or scalar): A data object of one of these types is a single object. int, double, char,
More informationComputer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview
Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring 2009 Topic Notes: C and Unix Overview This course is about computer organization, but since most of our programming is
More informationffproxy (8) FreeBSD System Manager s Manual ffproxy (8)
NAME ffproxy filtering HTTP/HTTPS proxy server SYNOPSIS ffproxy [ p port] [ c ip hostname] [ C ip hostname] [ l childs] [ u uid user g gid group] [ r dir] [ D datadir] [ x proxyip proxyhost X proxyport]
More information$Id: asg4-shell-tree.mm,v :36: $
cmps012b 2002q2 Assignment 4 Shell and Tree Structure page 1 $Id: asg4-shell-tree.mm,v 323.32 2002-05-08 15:36:09-07 - - $ 1. Overview A data structure that is useful in many applications is the Tree.
More informationLab 1: First Steps in C++ - Eclipse
Lab 1: First Steps in C++ - Eclipse Step Zero: Select workspace 1. Upon launching eclipse, we are ask to chose a workspace: 2. We select a new workspace directory (e.g., C:\Courses ): 3. We accept the
More informationComprehensive Guide to Evaluating Event Stream Processing Engines
Comprehensive Guide to Evaluating Event Stream Processing Engines i Copyright 2006 Coral8, Inc. All rights reserved worldwide. Worldwide Headquarters: Coral8, Inc. 82 Pioneer Way, Suite 106 Mountain View,
More informationSYNOPSIS syslogd [ a socket ][ d ][ f config file ][ h ][ l hostlist ][ m interval ][ n ][ p socket ][ r ][ s domainlist ][ v ][ x ]
NAME sysklogd Linux system logging utilities. SYNOPSIS syslogd [ a socket ][ d ][ f config file ][ h ][ l hostlist ][ m interval ][ n ][ p socket ][ r ][ s domainlist ][ v ][ x ] DESCRIPTION Sysklogd provides
More informationSemantics of C++ Hauptseminar im Wintersemester 2009/10 Templates
Semantics of C++ Hauptseminar im Wintersemester 2009/10 Templates Sebastian Wild Technische Universität München 11.01.2010 Abstract In this work we will discuss about templates in C++, especially their
More informationNetwork System Services
Network System Services Computer Networks Lecture 11 http://goo.gl/pze5o8 Syslog Syslog Aggregates logged messages from multiple network devices on the common logging server Easier event lookup and evaluation
More informationCS143 Handout 05 Summer 2011 June 22, 2011 Programming Project 1: Lexical Analysis
CS143 Handout 05 Summer 2011 June 22, 2011 Programming Project 1: Lexical Analysis Handout written by Julie Zelenski with edits by Keith Schwarz. The Goal In the first programming project, you will get
More informationProcesses. CSE 2431: Introduction to Operating Systems Reading: Chap. 3, [OSC]
Processes CSE 2431: Introduction to Operating Systems Reading: Chap. 3, [OSC] 1 Outline What Is A Process? Process States & PCB Process Memory Layout Process Scheduling Context Switch Process Operations
More informationObject Oriented Design
Object Oriented Design Lecture 2: Introduction to C++ Class and Object Objects are essentially reusable software components. There are date objects, time objects, audio objects, video objects, automobile
More informationNCSA Security R&D Last Updated: 11/03/2005
Stage Design Project: Community Accounts Stage #1: Accounts NCSA Security R&D Last Updated: 11/03/2005 Summary The Accounts stage of the Community Accounts project consists of creating all tools necessary
More informationPart 1:Updating MOM 2005 Scripts for Operations Manager 2007
Part 1:Updating MOM 2005 Scripts for Operations Manager 2007 First installment in the System Center Forum Scripting Series Author: Pete Zerger, MS MVP-Operations Manager Version: 1.0 January 2, 2008 Some
More informationMagic Tutorial #9: Format Conversion for CIF and Calma
Magic Tutorial #9: Format Conversion for CIF and Calma John Ousterhout Computer Science Division Electrical Engineering and Computer Sciences University of California Berkeley, CA 94720 (Updated by others,
More informationIntroduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras
Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week 03 Lecture 12 Create, Execute, and Exit from a Process
More informationAbsolute C++ Walter Savitch
Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents
More informationIceWarp to IceWarp Migration Guide
IceWarp Unified Communications IceWarp to IceWarp Migration Guide Version 12.0 IceWarp to IceWarp Migration Guide 2 Contents IceWarp to IceWarp Migration Guide... 4 Used Terminology... 4 Brief Introduction...
More informationChapter 1 - Introduction. September 8, 2016
Chapter 1 - Introduction September 8, 2016 Introduction Overview of Linux/Unix Shells Commands: built-in, aliases, program invocations, alternation and iteration Finding more information: man, info Help
More informationCorreLog. SQL Table Monitor Adapter Users Manual
CorreLog SQL Table Monitor Adapter Users Manual http://www.correlog.com mailto:support@correlog.com CorreLog, SQL Table Monitor Users Manual Copyright 2008-2018, CorreLog, Inc. All rights reserved. No
More informationKilling Zombies, Working, Sleeping, and Spawning Children
Killing Zombies, Working, Sleeping, and Spawning Children CS 333 Prof. Karavanic (c) 2015 Karen L. Karavanic 1 The Process Model The OS loads program code and starts each job. Then it cleans up afterwards,
More informationCSE 12 Spring 2016 Week One, Lecture Two
CSE 12 Spring 2016 Week One, Lecture Two Homework One and Two: hw2: Discuss in section today - Introduction to C - Review of basic programming principles - Building from fgetc and fputc - Input and output
More informationCenterity Monitor User Guide
Centerity Monitor 4.10 User Guide July 2018 Page 2 End-User License Agreement (EULA) This guide and the use of Centerity software is subject to Centerity s End-User License Agreement (EULA). A copy of
More informationDeploying Citrix MetaFrame with the FirePass Controller
Deployment Guide Deploying Citrix Presentation Server (MetaFrame) with the FirePass Controller Deploying Citrix MetaFrame with the FirePass Controller Welcome to the F5 FirePass controller Deployment Guide
More informationDeveloping with VMware vcenter Orchestrator. vrealize Orchestrator 5.5.1
Developing with VMware vcenter Orchestrator vrealize Orchestrator 5.5.1 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments
More informationSystem Administration for Beginners
System Administration for Beginners Week 5 Notes March 16, 2009 1 Introduction In the previous weeks, we have covered much of the basic groundwork needed in a UNIX environment. In the upcoming weeks, we
More informationAvro Specification
Table of contents 1 Introduction...2 2 Schema Declaration... 2 2.1 Primitive Types... 2 2.2 Complex Types...2 2.3 Names... 5 3 Data Serialization...6 3.1 Encodings... 6 3.2 Binary Encoding...6 3.3 JSON
More information