cugblbs / memcached

Automatically exported from code.google.com/p/memcached
0 stars 0 forks source link

Logs always empty #198

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Start the daemon with an init script:
start() {
    echo -n $"Starting $prog: "
    while checkstatus; do
        sleep 1
        echo -n $"."
    done
    daemon $memcached -d ${args[@]}
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        touch $lockfile
    fi
    echo

    return $RETVAL
}

What is the expected output? What do you see instead?
No event is logged into memcached, because there is no definition to input a 
log file, like -o /var/log/memcached.log

What version of the product are you using? On what operating system?
1.4.5, CentOS 5.6 64bits

Original issue reported on code.google.com by ad...@yqed.com on 14 Apr 2011 at 9:21

GoogleCodeExporter commented 9 years ago
depending on the number of -v you add on the command line memcached will print 
more information to stdout and stderr. You can just redirect that to the file 
you want to keep it in.

There is a new extension framework in the next version so you can use -X to 
load the logger you want (syslog, eventlog, file etc)

Original comment by trond.no...@gmail.com on 14 Apr 2011 at 9:29

GoogleCodeExporter commented 9 years ago
Thanks, -X is the perfect solution.

Original comment by ad...@yqed.com on 14 Apr 2011 at 11:11

GoogleCodeExporter commented 9 years ago
I just can not find the -X option in the official memcached distribution, my 
installed version is 1.4.13. But in twitter's memcached mod, there is -X option

Original comment by qingshen...@gmail.com on 2 Jan 2013 at 11:20

GoogleCodeExporter commented 9 years ago
Thank you for the reminder, I use 1.4.14 and the option is not present also:
# memcached -h
memcached 1.4.14
-p <num>      TCP port number to listen on (default: 11211)
-U <num>      UDP port number to listen on (default: 11211, 0 is off)
-s <file>     UNIX socket path to listen on (disables network support)
-a <mask>     access mask for UNIX socket, in octal (default: 0700)
-l <addr>     interface to listen on (default: INADDR_ANY, all addresses)
              <addr> may be specified as host:port. If you don't specify
              a port number, the value you specified with -p or -U is
              used. You may specify multiple addresses separated by comma
              or by using -l multiple times
-d            run as a daemon
-r            maximize core file limit
-u <username> assume identity of <username> (only when run as root)
-m <num>      max memory to use for items in megabytes (default: 64 MB)
-M            return error on memory exhausted (rather than removing items)
-c <num>      max simultaneous connections (default: 1024)
-k            lock down all paged memory.  Note that there is a
              limit on how much memory you may lock.  Trying to
              allocate more than that would fail, so be sure you
              set the limit correctly for the user you started
              the daemon with (not for -u <username> user;
              under sh this is done with 'ulimit -S -l NUM_KB').
-v            verbose (print errors/warnings while in event loop)
-vv           very verbose (also print client commands/reponses)
-vvv          extremely verbose (also print internal state transitions)
-h            print this help and exit
-i            print memcached and libevent license
-P <file>     save PID in <file>, only used with -d option
-f <factor>   chunk size growth factor (default: 1.25)
-n <bytes>    minimum space allocated for key+value+flags (default: 48)
-L            Try to use large memory pages (if available). Increasing
              the memory page size could reduce the number of TLB misses
              and improve the performance. In order to get large pages
              from the OS, memcached will allocate the total item-cache
              in one large chunk.
-D <char>     Use <char> as the delimiter between key prefixes and IDs.
              This is used for per-prefix stats reporting. The default is
              ":" (colon). If this option is specified, stats collection
              is turned on automatically; if not, then it may be turned on
              by sending the "stats detail on" command to the server.
-t <num>      number of threads to use (default: 4)
-R            Maximum number of requests per event, limits the number of
              requests process for a given connection to prevent 
              starvation (default: 20)
-C            Disable use of CAS
-b            Set the backlog queue limit (default: 1024)
-B            Binding protocol - one of ascii, binary, or auto (default)
-I            Override the size of each slab page. Adjusts max item size
              (default: 1mb, min: 1k, max: 128m)
-S            Turn on Sasl authentication
-o            Comma separated list of extended or experimental options
              - (EXPERIMENTAL) maxconns_fast: immediately close new
                connections if over maxconns limit
              - hashpower: An integer multiplier for how large the hash
                table should be. Can be grown at runtime if not big enough.
                Set this based on "STAT hash_power_level" before a 
                restart.

Original comment by ad...@yqed.com on 2 Jan 2013 at 12:33

GoogleCodeExporter commented 9 years ago
Issue #304 created.

Original comment by ad...@yqed.com on 2 Jan 2013 at 12:42

GoogleCodeExporter commented 9 years ago
Is -X option avaliable in previous versions?

Original comment by qingshen...@gmail.com on 2 Jan 2013 at 3:16

GoogleCodeExporter commented 9 years ago
No.

Original comment by ad...@yqed.com on 2 Jan 2013 at 10:11

GoogleCodeExporter commented 9 years ago
-X was added in the 1.6 beta version, which is unreleased and trails the 1.4 
track in some ways.

If you want logging in the current version, you need to start memcached with 
-vv and pipe to a file, or pipe to a "logger" process to send the data to 
syslog.

Sorry, it's not ideal :/

Original comment by dorma...@rydia.net on 2 Jan 2013 at 10:14

GoogleCodeExporter commented 9 years ago
See comment #1 made by your colleague Trend.

Original comment by ad...@yqed.com on 2 Jan 2013 at 10:18

GoogleCodeExporter commented 9 years ago
yes, and I repeated that since you seem to think there's an option missing. 
That is the state of the world for each version.

Original comment by dorma...@rydia.net on 2 Jan 2013 at 10:19

GoogleCodeExporter commented 9 years ago
I was referring to the part where another project member stated that logging 
will be available into "next version". At the time, it was 1.4.5 release and 
the option was supposed to be implemented into 1.4.6 relaxed.

Original comment by ad...@yqed.com on 2 Jan 2013 at 10:23

GoogleCodeExporter commented 9 years ago
and then *I* said that it's in the 1.6 beta version. he wasn't talking about 
the next version in the 1.4 tree, he was talking about the next major version, 
which floundered and died.

poor thing.

Original comment by dorma...@rydia.net on 2 Jan 2013 at 10:41

GoogleCodeExporter commented 9 years ago
> next major version, which floundered and died. poor thing
Heh, no prob. :)

Original comment by ad...@yqed.com on 2 Jan 2013 at 10:44

GoogleCodeExporter commented 9 years ago
It has been a long time since version 1.6-beta1 released, sigh.

Original comment by qingshen...@gmail.com on 3 Jan 2013 at 1:10

GoogleCodeExporter commented 9 years ago
Can any of devs create a patch for branch 1.4 so we can use proper logging? :)

Original comment by ad...@yqed.com on 3 Jan 2013 at 1:13