[prev in list] [next in list] [prev in thread] [next in thread]
List: php-cvs
Subject: [PHP-CVS] com php-src: =?UTF-8?Q?phpdbg=5Frlog=20for=20logging=20while=20in=20remot?= =?UTF-8?Q?e=20
From: Bob Weinand <bwoebi () php ! net>
Date: 2013-11-30 14:34:16
Message-ID: php-mail-1eb4753d130c8551a59fae8888771eee318767790 () git ! php ! net
[Download RAW message or body]
Commit: df0091c445aeabcab96d6238c54d7e8eb9fe2abb
Author: krakjoe <joe.watkins@live.co.uk> Sat, 30 Nov 2013 14:34:16 +0000
Parents: 4fa2f01c4e8d0390e1406d0ebdcd040698426fa0
Branches: PHP-5.6
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=df0091c445aeabcab96d6238c54d7e8eb9fe2abb
Log:
phpdbg_rlog for logging while in remote mode (only)
Changed paths:
M phpdbg.c
M phpdbg_utils.c
M phpdbg_utils.h
M tutorials/java/dist/phpdbg-ui.jar
Diff:
diff --git a/phpdbg.c b/phpdbg.c
index af3a117..3ac0b09 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -600,8 +600,9 @@ int phpdbg_open_socket(const char *interface, short port) /* {{{ \
*/
static inline void phpdbg_close_sockets(int (*socket)[2], FILE *streams[2]) /* {{{ \
*/ {
- if ((*socket)[0]) {
- shutdown((*socket)[0], SHUT_RDWR);
+ if ((*socket)[0] >= 0) {
+ shutdown(
+ (*socket)[0], SHUT_RDWR);
close((*socket)[0]);
}
@@ -609,8 +610,9 @@ static inline void phpdbg_close_sockets(int (*socket)[2], FILE \
*streams[2]) /* { fclose(streams[0]);
}
- if ((*socket)[1]) {
- shutdown((*socket)[1], SHUT_RDWR);
+ if ((*socket)[1] >= 0) {
+ shutdown(
+ (*socket)[1], SHUT_RDWR);
close((*socket)[1]);
}
@@ -633,13 +635,13 @@ int phpdbg_open_sockets(char *address, int port[2], int \
(*listen)[2], int (*sock
if ((*listen)[0] < 0 || (*listen)[1] < 0) {
if ((*listen)[0] < 0) {
- fprintf(stderr,
- "Failed to start remote console (stdin) on port %d\n", port[0]);
+ phpdbg_rlog(stderr,
+ "console failed to initialize (stdin) on %s:%d", address, port[0]);
}
if ((*listen)[1] < 0) {
- fprintf(stderr,
- "Failed to open remote console (stdout) on port %d\n", port[1]);
+ phpdbg_rlog(stderr,
+ "console failed to initialize (stdout) on %s:%d", address, port[1]);
}
if ((*listen)[0] >= 0) {
@@ -655,8 +657,8 @@ int phpdbg_open_sockets(char *address, int port[2], int \
(*listen)[2], int (*sock
phpdbg_close_sockets(socket, streams);
- fprintf(stderr,
- "Remote console accepting (stdin/stdout) on ports %d/%d\n", port[0], port[1]);
+ phpdbg_rlog(stderr,
+ "accepting connections on %s:%d/%d", address, port[0], port[1]);
{
struct sockaddr_in address;
socklen_t size = sizeof(address);
@@ -668,8 +670,7 @@ int phpdbg_open_sockets(char *address, int port[2], int \
(*listen)[2], int (*sock (*listen)[0], (struct sockaddr *) &address, &size);
inet_ntop(AF_INET, &address.sin_addr, buffer, sizeof(buffer));
- fprintf(stderr,
- "Remote console (stdin) connection from %s\n", buffer);
+ phpdbg_rlog(stderr, "connection (stdin) from %s", buffer);
}
{
@@ -678,8 +679,7 @@ int phpdbg_open_sockets(char *address, int port[2], int \
(*listen)[2], int (*sock (*listen)[1], (struct sockaddr *) &address, &size);
inet_ntop(AF_INET, &address.sin_addr, buffer, sizeof(buffer));
- fprintf(stderr,
- "Remote console (stdout) connection from %s\n", buffer);
+ phpdbg_rlog(stderr, "connection (stdout) from %s", buffer);
}
}
diff --git a/phpdbg_utils.c b/phpdbg_utils.c
index 33ead60..5232f31 100644
--- a/phpdbg_utils.c
+++ b/phpdbg_utils.c
@@ -242,6 +242,35 @@ PHPDBG_API int phpdbg_print(int type TSRMLS_DC, FILE *fp, const \
char *format, .. return rc;
} /* }}} */
+PHPDBG_API int phpdbg_rlog(FILE *fp, const char *fmt, ...) { /* {{{ */
+ int rc = 0;
+
+ va_list args;
+ time_t now;
+ struct timeval tp;
+
+ va_start(args, fmt);
+ if (gettimeofday(&tp, NULL) == SUCCESS)
+ {
+ char friendly[100];
+ char *format = NULL, *buffer = NULL;
+
+ strftime(friendly, 100, "%a %b %d %T.%%04d %Y", localtime(&tp.tv_sec));
+ asprintf(
+ &buffer, friendly, tp.tv_usec/1000);
+ asprintf(
+ &format, "[%s]: %s\n", buffer, fmt);
+ rc = vfprintf(
+ fp, format, args);
+
+ free(format);
+ free(buffer);
+ }
+ va_end(args);
+
+ return rc;
+} /* }}} */
+
PHPDBG_API const phpdbg_color_t *phpdbg_get_color(const char *name, size_t \
name_length TSRMLS_DC) /* {{{ */ {
const phpdbg_color_t *color = colors;
diff --git a/phpdbg_utils.h b/phpdbg_utils.h
index eb44d7c..e934467 100644
--- a/phpdbg_utils.h
+++ b/phpdbg_utils.h
@@ -32,7 +32,7 @@ PHPDBG_API char *phpdbg_resolve_path(const char* TSRMLS_DC);
PHPDBG_API char *phpdbg_trim(const char*, size_t, size_t*);
/**
- * Error/notice/formatting helper
+ * Error/notice/formatting helpers
*/
enum {
P_ERROR = 1,
@@ -48,6 +48,8 @@ PHPDBG_API int phpdbg_print(int TSRMLS_DC, FILE*, const char*, ...) \
PHP_ATTRIBUT PHPDBG_API int phpdbg_print(int TSRMLS_DC, FILE*, const char*, ...) \
PHP_ATTRIBUTE_FORMAT(printf, 3, 4); #endif
+PHPDBG_API int phpdbg_rlog(FILE *stream, const char *fmt, ...);
+
#define phpdbg_error(fmt, ...) phpdbg_print(P_ERROR TSRMLS_CC, \
PHPDBG_G(io)[PHPDBG_STDOUT], fmt, ##__VA_ARGS__) #define phpdbg_notice(fmt, ...) \
phpdbg_print(P_NOTICE TSRMLS_CC, PHPDBG_G(io)[PHPDBG_STDOUT], fmt, ##__VA_ARGS__) \
#define phpdbg_writeln(fmt, ...) phpdbg_print(P_WRITELN TSRMLS_CC, \
PHPDBG_G(io)[PHPDBG_STDOUT], fmt, ##__VA_ARGS__)
diff --git a/tutorials/java/dist/phpdbg-ui.jar b/tutorials/java/dist/phpdbg-ui.jar
index b02e649..f1d9f9f 100644
Binary files a/tutorials/java/dist/phpdbg-ui.jar and \
b/tutorials/java/dist/phpdbg-ui.jar differ
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic